blob: d401a9c28cdffd832f3e9fadf57563e747395b75 [file] [log] [blame]
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +05301module simple-data-types {
janani b867b9ef2017-07-17 12:33:38 +05302 namespace "simple:data:types";
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +05303
janani b867b9ef2017-07-17 12:33:38 +05304 prefix "smpdtp";
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +05305
janani b867b9ef2017-07-17 12:33:38 +05306 import YtbDataTypes {
7 prefix ytb;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +05308 }
janani b867b9ef2017-07-17 12:33:38 +05309 revision 2013-11-12 {
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053010 }
11
janani b867b9ef2017-07-17 12:33:38 +053012 identity iden {
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053013 }
14
janani b867b9ef2017-07-17 12:33:38 +053015 identity val {
16 base iden;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053017 }
18
janani b867b9ef2017-07-17 12:33:38 +053019 identity pro {
20 base iden;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053021 }
22
janani b867b9ef2017-07-17 12:33:38 +053023 typedef tpdfempty {
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053024 type empty;
25 }
26
janani b867b9ef2017-07-17 12:33:38 +053027 typedef tpdfbit {
28 type bits {
29 bit b1;
30 bit b2;
31 bit b3;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053032 }
33 }
janani b867b9ef2017-07-17 12:33:38 +053034
35 typedef tpdfun4 {
36 type boolean;
37 }
38
39 typedef tpdfun3 {
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053040 type union {
janani b867b9ef2017-07-17 12:33:38 +053041 type tpdfbit;
42 type tpdfempty;
43 }
44 }
45
46 typedef tpdfun2 {
47 type union {
48 type tpdfun3;
49 type tpdfun4;
50 }
51 }
52
53 typedef tpdfun1 {
54 type union {
55 type uint8;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053056 type decimal64 {
57 fraction-digits 2;
58 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053059 }
60 }
61
janani b867b9ef2017-07-17 12:33:38 +053062 typedef tpdfun0 {
63 type enumeration {
64 enum "successful exit" {
65 value 1;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053066 }
janani b867b9ef2017-07-17 12:33:38 +053067 enum "grace period expired" {
68 value 2;
69 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +053070 }
71 }
72
janani b867b9ef2017-07-17 12:33:38 +053073 container cont {
74 leaf lfnint8Min {
75 type int8;
76 }
77
78 leaf lfnint8Max {
79 type int8;
80 }
81
82 leaf lfnint16Min {
83 type int16;
84 }
85
86 leaf lfnint16Max {
87 type int16;
88 }
89
90 leaf lfnint32Min {
91 type int32;
92 }
93
94 leaf lfnint32Max {
95 type int32;
96 }
97
98 leaf lfnint64Min {
99 type int64;
100 }
101
102 leaf lfnint64Max {
103 type int64;
104 }
105
106 leaf lfnuint8Max {
107 type uint8;
108 }
109
110 leaf lfnuint16Max {
111 type uint16;
112 }
113
114 leaf lfnuint32Max {
115 type uint32;
116 }
117
118 leaf lfuint64Max {
119 type uint64;
120 }
121
122 leaf lfstr {
123 type string;
124 }
125
126 leaf lfstr1 {
127 type string;
128 }
129
130 leaf lfbool1 {
131 type boolean;
132 }
133
134 leaf lfbool2 {
135 type boolean;
136 }
137
138 leaf lfbool3 {
139 type boolean;
140 }
141
142 leaf lfdecimal1 {
143 type decimal64 {
144 fraction-digits 1;
145 }
146 }
147
148 leaf lfdecimal2 {
149 type decimal64 {
150 fraction-digits 2;
151 }
152 }
153
154 leaf lfdecimal3 {
155 type decimal64 {
156 fraction-digits 3;
157 }
158 }
159
160 leaf lfdecimal4 {
161 type decimal64 {
162 fraction-digits 4;
163 }
164 }
165
166 leaf lfdecimal6 {
167 type decimal64 {
168 fraction-digits 6;
169 }
170 }
171
172 leaf lfenum {
173 type enumeration {
174 enum enum1;
175 enum enum2;
176 enum enum3;
177 enum enum4;
178 }
179 }
180
181 leaf lfbits {
182 type bits {
183 bit bit1;
184 bit bit2;
185 bit bit3;
186 bit bit4;
187 }
188 }
189
190 leaf lfbinary {
191 type binary;
192 }
193
194 leaf lfref1 { //reference to string type
195 type leafref {
196 path "../lfstr";
197 }
198 }
199
200 leaf lfref2 { //reference to number type
201 type leafref {
202 path "../lfnint8Max";
203 }
204 }
205
206 leaf lfempty {
207 type empty;
208 }
209
210 leaf lfunion1 {
211 type union {
212 type uint16;
213 type string;
214 }
215 }
216 leaf lfunion2 {
217 type union {
218 type decimal64 {
219 fraction-digits 2;
220 }
221 type string;
222 }
223 }
224
225 leaf lfunion4 {
226 type union {
227 type boolean;
228 type string;
229 }
230 }
231
232 leaf lfunion5 {
233 type union {
234 type uint16;
235 type string;
236 }
237 }
238
239 leaf lfunion7 {
240 type tpdfun3;
241 }
242
243 leaf lfunion8 {
244 type union {
245 type uint16;
246 type string;
247 }
248 }
249
250 leaf lfunion9 {
251 type union {
252 type uint16;
253 type boolean;
254 }
255 }
256
257 leaf lfunion10 {
258 type union {
259 type bits {
260 bit bt1;
261 bit bt2;
262 }
263 type boolean;
264 }
265 }
266
267 leaf lfunion11 {
268 type union {
269 type tpdfun1;
270 type tpdfun2;
271 }
272 }
273
274 leaf lfunion12 {
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530275 type tpdfun2;
276 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530277
janani b867b9ef2017-07-17 12:33:38 +0530278 leaf lfunion13 {
279 type tpdfbit;
280 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530281
janani b867b9ef2017-07-17 12:33:38 +0530282 leaf lfunion14 {
283 type union {
284 type enumeration {
285 enum zero;
286 enum one;
287 }
288 type uint16;
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530289 }
janani b867b9ef2017-07-17 12:33:38 +0530290 }
291
292 leaf identityref1 {
293 type identityref {
294 base iden;
295 }
296 }
297
surya-huawei3e532d32017-08-18 16:42:25 +0530298 leaf identityref2 {
299 type identityref {
300 base iden;
301 }
302 }
303
janani b867b9ef2017-07-17 12:33:38 +0530304 leaf lfenum1 {
305 type tpdfun0;
306 }
307
308 leaf inst-iden {
309 type instance-identifier;
310 }
311
312 leaf lref1 {
313 type leafref {
314 path "../lfnint8Min";
315 }
316 }
317
318 leaf lref2 {
319 type leafref {
320 path "../identityref1";
321 }
322 }
323
324 leaf lref3 {
325 type leafref {
326 path "../lfunion14";
327 }
328 }
329
330 leaf lref4 {
331 type leafref {
332 path "../lfunion13";
333 }
334 }
335
336 leaf lref5 {
337 type leafref {
338 path "../lfunion11";
339 }
340 }
341
342 leaf lref6 {
343 type leafref {
344 path "../lfref2";
345 }
346 }
347
348 leaf lref7 {
349 type leafref {
350 path "../lfenum";
351 }
352 }
353
354 leaf lref8 {
355 type leafref {
356 path "../lfdecimal6";
357 }
358 }
359
360 leaf lref9 {
361 type leafref {
362 path "/ytb:leaf12";
363 }
364 }
365
366 leaf lref10 {
367 type leafref {
368 path "/ytb:leaf11";
369 }
370 }
371
372 leaf lref11 {
373 type leafref {
374 path "/ytb:leaf10";
375 }
376 }
377
378 leaf lref12 {
379 type leafref {
380 path "/ytb:leaf9";
381 }
382 }
383
384 leaf lref13 {
385 type leafref {
386 path "/ytb:leaf8";
387 }
388 }
389
390 leaf lref14 {
391 type leafref {
392 path "/ytb:leaf7";
393 }
394 }
395
396 leaf lref15 {
397 type leafref {
398 path "/ytb:leaf6";
399 }
400 }
401
402 leaf lref16 {
403 type leafref {
404 path "/ytb:leaf5";
405 }
406 }
407
408 leaf lref17 {
409 type leafref {
410 path "/ytb:leaf4";
411 }
412 }
413
414 leaf lref18 {
415 type leafref {
416 path "/ytb:leaf3";
417 }
418 }
419
420 leaf lref19 {
421 type leafref {
422 path "/ytb:leaf2";
423 }
424 }
425
426 leaf lref20 {
427 type leafref {
428 path "/ytb:leaf1";
429 }
430 }
431
432 leaf iref1 {
433 type identityref {
434 base iden;
435 }
436 }
437
438 leaf-list iref2 {
439 type identityref {
440 base iden;
441 }
442 }
443
444 leaf iref3 {
445 type identityref {
446 base ytb:type;
447 }
448 }
449
450 leaf-list iref4 {
451 type identityref {
452 base ytb:type;
453 }
454 }
455
456 uses gr;
457 }
458
459 grouping gr {
460 container cont3 {
461 leaf-list llref1 {
462 type leafref {
463 path "../../lfnint8Min";
464 }
465 }
466
467 leaf-list llref2 {
468 type leafref {
469 path "../../identityref1";
470 }
471 }
472
473 leaf-list llref3 {
474 type leafref {
475 path "../../lfunion14";
476 }
477 }
478
479 leaf-list llref4 {
480 type leafref {
481 path "../../lfunion13";
482 }
483 }
484
485 leaf-list llref5 {
486 type leafref {
487 path "../../lfunion11";
488 }
489 }
490
491 leaf-list llref6 {
492 type leafref {
493 path "../../lfref2";
494 }
495 }
496
497 leaf-list llref7 {
498 type leafref {
499 path "../../lfenum";
500 }
501 }
502
503 leaf-list llref8 {
504 type leafref {
505 path "../../lfdecimal6";
506 }
507 }
508
509 leaf-list llref9 {
510 type leafref {
511 path "/ytb:leaf12";
512 }
513 }
514
515 leaf-list llref10 {
516 type leafref {
517 path "/ytb:leaf11";
518 }
519 }
520
521 leaf-list llref11 {
522 type leafref {
523 path "/ytb:leaf10";
524 }
525 }
526
527 leaf-list llref12 {
528 type leafref {
529 path "/ytb:leaf9";
530 }
531 }
532
533 leaf-list llref13 {
534 type leafref {
535 path "/ytb:leaf8";
536 }
537 }
538
539 leaf-list llref14 {
540 type leafref {
541 path "/ytb:leaf7";
542 }
543 }
544
545 leaf-list llref15 {
546 type leafref {
547 path "/ytb:leaf6";
548 }
549 }
550
551 leaf-list llref16 {
552 type leafref {
553 path "/ytb:leaf5";
554 }
555 }
556
557 leaf-list llref17 {
558 type leafref {
559 path "/ytb:leaf4";
560 }
561 }
562
563 leaf-list llref18 {
564 type leafref {
565 path "/ytb:leaf3";
566 }
567 }
568
569 leaf-list llref19 {
570 type leafref {
571 path "/ytb:leaf2";
572 }
573 }
574
575 leaf-list llref20 {
576 type leafref {
577 path "/ytb:leaf1";
578 }
579 }
580
581 leaf lref21 {
582 type leafref {
583 path "/ytb:leaf1";
584 }
585 }
586
587 leaf iref1 {
588 type identityref {
589 base iden;
590 }
591 }
592
593 leaf-list iref2 {
594 type identityref {
595 base iden;
596 }
597 }
598
599 leaf iref3 {
600 type identityref {
601 base ytb:type;
602 }
603 }
604
605 leaf-list iref4 {
606 type identityref {
607 base ytb:type;
608 }
609 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530610 }
611 }
Vidyashree Ramaa5ba6562017-03-08 11:23:28 +0530612}