Dmitry Belyavskiy 55fc247a69 New GOST identificators 6 years ago
..
README 46f4e1bec5 Many spelling fixes/typo's corrected. 7 years ago
build.info 777a288270 unified build scheme: add build.info files 8 years ago
o_names.c 6738bf1417 Update copyright year 6 years ago
obj_dat.c f06080cb3d Add missing error code when alloc-return-null 6 years ago
obj_dat.h 55fc247a69 New GOST identificators 6 years ago
obj_dat.pl 22defb4350 Make some perl scripts output to stdout 6 years ago
obj_err.c f06080cb3d Add missing error code when alloc-return-null 6 years ago
obj_lcl.h 6286757141 Copyright consolidation 04/10 8 years ago
obj_lib.c 26a7d938c9 Remove parentheses of return. 7 years ago
obj_mac.num 55fc247a69 New GOST identificators 6 years ago
obj_xref.c 28428130db Update copyright year 6 years ago
obj_xref.h 13735cfef6 Integrate X448 and Ed448 into libcrypto 6 years ago
obj_xref.txt 13735cfef6 Integrate X448 and Ed448 into libcrypto 6 years ago
objects.pl 22defb4350 Make some perl scripts output to stdout 6 years ago
objects.txt 55fc247a69 New GOST identificators 6 years ago
objxref.pl 0d66475908 Update copyright year 6 years ago

README

objects.txt syntax
------------------

To cover all the naming hacks that were previously in objects.h needed some
kind of hacks in objects.txt.

The basic syntax for adding an object is as follows:

1 2 3 4 : shortName : Long Name

If Long Name contains only word characters and hyphen-minus
(0x2D) or full stop (0x2E) then Long Name is used as basis
for the base name in C. Otherwise, the shortName is used.

The base name (let's call it 'base') will then be used to
create the C macros SN_base, LN_base, NID_base and OBJ_base.

Note that if the base name contains spaces, dashes or periods,
those will be converted to underscore.

Then there are some extra commands:

!Alias foo 1 2 3 4

This just makes a name foo for an OID. The C macro
OBJ_foo will be created as a result.

!Cname foo

This makes sure that the name foo will be used as base name
in C.

!module foo
1 2 3 4 : shortName : Long Name
!global

The !module command was meant to define a kind of modularity.
What it does is to make sure the module name is prepended
to the base name. !global turns this off. This construction
is not recursive.

Lines starting with # are treated as comments, as well as any line starting
with ! and not matching the commands above.