]>
Commit | Line | Data |
---|---|---|
c2bbf9cf RL |
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 | ||
591b7aef AY |
11 | If Long Name contains only word characters and hyphen-minus |
12 | (0x2D) or full stop (0x2E) then Long Name is used as basis | |
13 | for the base name in C. Otherwise, the shortName is used. | |
c2bbf9cf RL |
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, | |
46f4e1be | 19 | those will be converted to underscore. |
c2bbf9cf RL |
20 | |
21 | Then there are some extra commands: | |
22 | ||
23 | !Alias foo 1 2 3 4 | |
24 | ||
591b7aef | 25 | This just makes a name foo for an OID. The C macro |
c2bbf9cf RL |
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 |