This file is indexed.

/usr/share/yuma/modules/netconfcentral/yuma-app-common.yang is in libyuma-base 2.10-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
module yuma-app-common {

    yang-version 1;
    namespace "http://netconfcentral.org/ns/yuma-app-common";
    prefix "appcmn";

    import yuma-types { prefix "yt"; }

    organization "Netconf Central";

    contact
        "Andy Bierman <andy at netconfcentral.org>";

    description 
       "Common CLI parameters used in all yuma applications.";

    revision 2012-08-16 {
       description 
         "Split yuma-home into its own grouping YumaHomeParm";
    }

    revision 2011-10-06 {
       description 
         "Add HomeParm grouping.
          Split CommonFeatureParms from NcxAppCommon grouping.";
    }

    revision 2011-04-24 {
       description 
         "Remove empty featureParms grouping.
          Add ProtocolsParm grouping.";
    }

    revision 2011-01-28 {
       description 
         "Add OutputParm grouping";
    }

    revision 2010-12-18 {
       description 
         "Change warn-linelen default value to 0 to turn it off";
    }

    revision 2010-01-25 {
       description 
         "Allow revision date in module parm for 0.10 release.";
    }

    revision 2010-01-14 {
       description "Initial version for 0.9.9 release.";
    }

    typedef CliWithDefaultsType {
        description "Add 'none' to standard enumerations";
        type enumeration {
            enum none;
            enum report-all;
            enum report-all-tagged;
            enum trim;
            enum explicit;
        }
    }

    grouping CliWithDefaultsParm {
        leaf with-defaults {
            type CliWithDefaultsType;
        }
    }

    grouping HelpMode {
      choice help-mode {
        default normal;
        leaf brief {
          description "Show brief help text";
          type empty;
        }
        leaf normal {
          description "Show normal help text";
          type empty;
        }
        leaf full {
          description "Show full help text";
          type empty;
        }
      }
    }

    grouping IndentParm {
        leaf indent {
          description 
            "Number of spaces to indent (0..9) in formatted output.";
          type yt:IndentType;
        }
    }

    grouping DatapathParm {
        leaf datapath {
          description
             "Internal file search path for config files.
              Overrides the YUMA_DATAPATH environment variable.";
          type yt:NcPathList;
        }
    }

    grouping RunpathParm {
        leaf runpath {
          description
             "Internal file search path for executable modules.
              Overrides the YUMA_RUNPATH environment variable.";
          type yt:NcPathList;
        }
    }

    grouping NcxAppCommon {

        leaf help {
          description "Print program help file and exit.";
          type empty;
        }

        uses HelpMode;

        uses IndentParm;

	leaf log {
          description
             "Filespec for the log file to use instead of STDOUT.";
          type string;
        }

	leaf log-append {
          description
             "If present, the log will be appended not over-written.
              If not, the log will be over-written.
              Only meaningful if the 'log' parameter is
              also present.";
          type empty;
        }

        leaf log-level {
          description
            "Sets the debug logging level for the program.";
          type yt:NcDebugType;
        }


        leaf modpath {
          description
             "Directory search path for YANG or YIN modules.
              Overrides the YUMA_MODPATH environment variable.";
          type yt:NcPathList;
        }

        leaf version {
          description "Print program version string and exit.";
          type empty;
        }

        leaf warn-idlen {
          description
            "Control whether identifier length warnings will be
             generated.  The value zero disables all identifier
             length checking.  If non-zero, then a warning will
             be generated if an identifier is defined which 
             has a length is greater than this amount.";
          type uint32 {
            range "0 | 8 .. 1023";
          }
          default 64;
        }

        leaf warn-linelen {
          description
            "Control whether line length warnings will be
             generated.  The value zero disables all line length
             checking.  If non-zero, then a warning will
             be generated if the line length is greater than
             this amount.  Tab characters are counted as 8 spaces.";
          type uint32 {
            range "0 | 40 .. 4095";
          }
          // default 72;
          default 0;
        }

        leaf-list warn-off {
          description
            "Control whether the specified warning number will be
             generated and counted in the warning total for the
             module being parsed.";
          type uint32 {
            range "400 .. 899";
          }
        }

    }

    grouping YumaHomeParm {
        leaf yuma-home {
          description
             "Directory for the yuma project root to use.
              If present, this directory location will
              override the 'YUMA_HOME' environment variable,
              if it is present.  If a zero-length string is
              entered, then the YUMA_HOME environment variable
              will be ignored.";
          type string;
        }
    }

    grouping ConfigParm {
        leaf config {
          description
            "The name of the configuration file to use.
             Any parameter except this one can be set in the config file.
             The default config file will be not be checked if this
             parameter is present.";
           type string;
        }
    }

    grouping NewConfigParm {
        choice config-choice {
          leaf config {
            description
              "The name of the configuration file to use.
               Any parameter except this one can be set in the config file.
               The default config file will be not be checked if this
               parameter is present.";
             type string;
          }
          leaf no-config {
            description
              "Do not the default .conf file even if it exists.";
            type empty;
          }
        }
    }

    grouping CommonFeatureParms {

        leaf feature-enable-default {
          description
            "If true, then features will be enabled by default.
             If false, then features will be disabled by default.";
          type boolean;
          default true;
        }

        leaf-list feature-enable {
          description
            "Identifies a feature which should be considered
             enabled.";
          type yt:FeatureSpec;
        }

        leaf-list feature-disable {
          description
            "Identifies a feature which should be considered
             disabled.";
          type yt:FeatureSpec;
        }
    }

    grouping FeatureCodeParms {
        leaf feature-code-default {
          description
            "The default feature code generation type.";
          type enumeration {
            enum static {
              description
                "The default behavior for feature behavior
                 is to use statically defined features at
                 compile-time.";
            }
            enum dynamic {
              description
                "The default behavior for feature behavior
                 is to use dynamically defined features at
                 load-time.";
            }
          }
          default dynamic;
        }

        leaf-list feature-static {
          description
            "Identifies a feature which is configured to be a
             static feature, and therefore set at compile time.";
          type yt:FeatureSpec;
        }

        leaf-list feature-dynamic {
          description
            "Identifies a feature which is configured to be a
             static feature, and therefore set at compile time.";
          type yt:FeatureSpec;
        }
    }

    grouping ModuleParm {
        leaf-list module {
            description 
              "YANG source module name to use.";
            type yt:NcModuleSpec;
        }
    }

    grouping SubtreeParm {
        leaf-list subtree {
            description 
              "Path specification of the directory subtree to use.
               All of the YANG source modules contained in the
               specified directory sub-tree will be processed.

               Note that symbolic links are not followed
               during the directory traversal.  Only real directories
               will be searched and regular files will be checked as
               modules.  Processing will continue to the next file
               if a module contains errors.

               If this string begins with a '~' character,
               then a username is expected to follow or
               a directory separator character.  If it begins
               with a '$' character, then an environment variable
               name is expected to follow.

               ~/some/path ==> <my-home-dir>/some/path

               ~fred/some/path ==> <fred-home-dir>/some/path

               $workdir/some/path ==> <workdir-env-var>/some/path";

            type yt:NcPathSpec;
        }
    }

    grouping DeviationParm {
        leaf-list deviation {
            description 
              "YANG deviation file.  
                
               This parameter identifies a YANG module that
               should only be checked for deviation statements
               for external modules.  These will be collected
               and applied to the real module(s) being processed.

               Deviations are applied as patches to the target module.
               Since they are not identified in the target module at
               all (ala imports), they have to be specified
               explicitly, so they will be correctly processed.

               If this string represents a filespec, 
	       ending with the '.yang' or '.yin' extension,
	       then only that file location will be checked.

               If this string represents a module name, then
               the module search path will be checked for
               a file with the module name and the '.yang' 
               or '.yin' extension.

               If this string begins with a '~' character,
               then a username is expected to follow or
               a directory separator character.  If it begins
               with a '$' character, then an environment variable
               name is expected to follow.

               ~/some/path ==> <my-home-dir>/some/path

               ~fred/some/path ==> <fred-home-dir>/some/path

               $workdir/some/path ==> <workdir-env-var>/some/path
             ";
            type yt:NcModuleSpec;
        }
    }

    grouping SubdirsParm {
	leaf subdirs {
          description
             "If false, the file search paths for modules, scripts, 
              and data files will not include sub-directories if they
              exist in the specified path.

              If true, then these file search paths will include
              sub-directories, if present.  Any directory name beginning
              with a dot '.' character, or named 'CVS', will be ignored.";
          type boolean;
          default true;
        }
    }

    grouping OutputParm {
        leaf output {
          description 
            "Output directory or file name to use. 
             Default is STDOUT if none specified and the
             'defnames' parameter is also set to 'false'.

             For yangdump, if this parameter represents an existing
             directory, then the 'defnames' parameter will be set 
             to 'true' by default, and the translation output file(s)
             will be generated in the specified directory.

             For yangdump, if this parameter represents a file name,
             then the 'defnames' parameter will be ignored,
             and all translation output will be directed
             to the specified file.

             If this string begins with a '~' character,
             then a username is expected to follow or
             a directory separator character.   If it begins
             with a '$' character, then an environment variable
             name is expected to follow.

               ~/some/path ==> <my-home-dir>/some/path

               ~fred/some/path ==> <fred-home-dir>/some/path

               $workdir/some/path ==> <workdir-env-var>/some/path

             If this parameter is present, and identifies
             an existing directory, then any translation output
             files will be generated in that directory.  If that
             parameter identifies a file, then that one file will
             be used for output.

             For yangdump, if the 'format' parameter is present, 
             then one file with the default name will be generated
             for each YANG or YIN file found in the sub-tree.";

          type string;
        }
    }

    grouping ProtocolsParm {
        leaf protocols {
           description
             "Specifies which protocol versions the program or session
              will attempt to use. Empty set is not allowed.";
           must ". != ''";
           type bits {
              bit netconf1.0 {
                 description "RFC 4741 base:1.0";
                 position 0;
              }
              bit netconf1.1 {
                 description "RFC xxxx base:1.1";
                 position 1;
              }
           }
           /* default "netconf1.0 netconf1.1"; */
        }
    }

    grouping HomeParm {
        leaf home {
           description
              "Directory specification for the home directory
               to use instead of HOME.";
           type string { length "1..max"; }
        }
    }

}