1*b077aed3SPierre Proncheryobjects.txt syntax 2*b077aed3SPierre Pronchery================== 3*b077aed3SPierre Pronchery 4*b077aed3SPierre ProncheryTo cover all the naming hacks that were previously in `objects.h` needed some 5*b077aed3SPierre Proncherykind of hacks in `objects.txt`. 6*b077aed3SPierre Pronchery 7*b077aed3SPierre ProncheryThe basic syntax for adding an object is as follows: 8*b077aed3SPierre Pronchery 9*b077aed3SPierre Pronchery 1 2 3 4 : shortName : Long Name 10*b077aed3SPierre Pronchery 11*b077aed3SPierre Pronchery If Long Name contains only word characters and hyphen-minus 12*b077aed3SPierre Pronchery (0x2D) or full stop (0x2E) then Long Name is used as basis 13*b077aed3SPierre Pronchery for the base name in C. Otherwise, the shortName is used. 14*b077aed3SPierre Pronchery 15*b077aed3SPierre Pronchery The base name (let's call it 'base') will then be used to 16*b077aed3SPierre Pronchery create the C macros SN_base, LN_base, NID_base and OBJ_base. 17*b077aed3SPierre Pronchery 18*b077aed3SPierre Pronchery Note that if the base name contains spaces, dashes or periods, 19*b077aed3SPierre Pronchery those will be converted to underscore. 20*b077aed3SPierre Pronchery 21*b077aed3SPierre ProncheryThen there are some extra commands: 22*b077aed3SPierre Pronchery 23*b077aed3SPierre Pronchery !Alias foo 1 2 3 4 24*b077aed3SPierre Pronchery 25*b077aed3SPierre Pronchery This just makes a name foo for an OID. The C macro 26*b077aed3SPierre Pronchery OBJ_foo will be created as a result. 27*b077aed3SPierre Pronchery 28*b077aed3SPierre Pronchery !Cname foo 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery This makes sure that the name foo will be used as base name 31*b077aed3SPierre Pronchery in C. 32*b077aed3SPierre Pronchery 33*b077aed3SPierre Pronchery !module foo 34*b077aed3SPierre Pronchery 1 2 3 4 : shortName : Long Name 35*b077aed3SPierre Pronchery !global 36*b077aed3SPierre Pronchery 37*b077aed3SPierre Pronchery The !module command was meant to define a kind of modularity. 38*b077aed3SPierre Pronchery What it does is to make sure the module name is prepended 39*b077aed3SPierre Pronchery to the base name. !global turns this off. This construction 40*b077aed3SPierre Pronchery is not recursive. 41*b077aed3SPierre Pronchery 42*b077aed3SPierre ProncheryLines starting with `#` are treated as comments, as well as any line starting 43*b077aed3SPierre Proncherywith ! and not matching the commands above. 44