Alexandre Savard | 1b09e31 | 2012-08-07 20:33:29 -0400 | [diff] [blame] | 1 | objects.txt syntax |
| 2 | ------------------ |
| 3 | |
| 4 | To cover all the naming hacks that were previously in objects.h needed some |
| 5 | kind of hacks in objects.txt. |
| 6 | |
| 7 | The basic syntax for adding an object is as follows: |
| 8 | |
| 9 | 1 2 3 4 : shortName : Long Name |
| 10 | |
| 11 | If the long name doesn't contain spaces, or no short name |
| 12 | exists, the long name is used as basis for the base name |
| 13 | in C. Otherwise, the short name is used. |
| 14 | |
| 15 | The base name (let's call it 'base') will then be used to |
| 16 | create the C macros SN_base, LN_base, NID_base and OBJ_base. |
| 17 | |
| 18 | Note that if the base name contains spaces, dashes or periods, |
| 19 | those will be converte to underscore. |
| 20 | |
| 21 | Then there are some extra commands: |
| 22 | |
| 23 | !Alias foo 1 2 3 4 |
| 24 | |
| 25 | This juts makes a name foo for an OID. The C macro |
| 26 | OBJ_foo will be created as a result. |
| 27 | |
| 28 | !Cname foo |
| 29 | |
| 30 | This makes sure that the name foo will be used as base name |
| 31 | in C. |
| 32 | |
| 33 | !module foo |
| 34 | 1 2 3 4 : shortName : Long Name |
| 35 | !global |
| 36 | |
| 37 | The !module command was meant to define a kind of modularity. |
| 38 | What it does is to make sure the module name is prepended |
| 39 | to the base name. !global turns this off. This construction |
| 40 | is not recursive. |
| 41 | |
| 42 | Lines starting with # are treated as comments, as well as any line starting |
| 43 | with ! and not matching the commands above. |
| 44 | |