Dr. David von Oheimb 1dc1ea182b Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 4 years ago
..
README.md 1dc1ea182b Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 4 years ago
build.info 777a288270 unified build scheme: add build.info files 8 years ago
o_names.c 742ccab318 Deprecate most of debug-memory 4 years ago
obj_compat.h ad16671d49 GOST cipher names adjustment 4 years ago
obj_dat.c 706457b7bd Reorganize local header files 5 years ago
obj_dat.h 0e139a02d5 GOST-related objects changes 4 years ago
obj_dat.pl 33388b44b6 Update copyright year 4 years ago
obj_err.c 0cd1b144f9 util/mkerr.pl: make it not depend on the function code 5 years ago
obj_lib.c 25f2138b0a Reorganize private crypto header files 5 years ago
obj_local.h 706457b7bd Reorganize local header files 5 years ago
obj_mac.num 0e139a02d5 GOST-related objects changes 4 years ago
obj_xref.c 3f870de74e Following the license change, modify the boilerplates in crypto/objects/ 6 years ago
obj_xref.h e7b834b6bb Run make update 4 years ago
obj_xref.txt 8267becb8b Support SM2 certificate verification 5 years ago
objects.pl 33388b44b6 Update copyright year 4 years ago
objects.txt 0e139a02d5 GOST-related objects changes 4 years ago
objxref.pl 33388b44b6 Update copyright year 4 years ago

README.md

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.