{
    "content": [
        {
            "type": "text",
            "text": "# OPENSSL_API_COMPAT (man)\n\n## NAME\n\nopensslusermacros, OPENSSLAPICOMPAT, OPENSSLNODEPRECATED - User defined macros\n\n## DESCRIPTION\n\nUser defined macros allow the programmer to control certain aspects of what is exposed by the\nOpenSSL headers.\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION** (1 subsections)\n- **COPYRIGHT**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "OPENSSL_API_COMPAT",
        "section": "",
        "mode": "man",
        "summary": "opensslusermacros, OPENSSLAPICOMPAT, OPENSSLNODEPRECATED - User defined macros",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 9,
                "subsections": [
                    {
                        "name": "The macros",
                        "lines": 38
                    }
                ]
            },
            {
                "name": "COPYRIGHT",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "opensslusermacros, OPENSSLAPICOMPAT, OPENSSLNODEPRECATED - User defined macros\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "User defined macros allow the programmer to control certain aspects of what is exposed by the\nOpenSSL headers.\n\nNOTE: to be effective, a user defined macro must be defined before including any header file\nthat depends on it, either in the compilation command (\"cc -DMACRO=value\") or by defining the\nmacro in source before including any headers.\n\nOther manual pages may refer to this page when declarations depend on user defined macros.\n",
                "subsections": [
                    {
                        "name": "The macros",
                        "content": "OPENSSLAPICOMPAT\nThe value is a version number, given in one of the following two forms:\n\n\"0xMNNFF000L\"\nThis  is  the  form  supported for all versions up to 1.1.x, where \"M\" represents the\nmajor number, \"NN\" represents the minor number, and \"FF\" represents the  fix  number,\nas a hexadecimal number.  For version 1.1.0, that's \"0x10100000L\".\n\nAny  version  number  may  be  given,  but  these numbers are the current known major\ndeprecation points, making them the most meaningful:\n\n\"0x00908000L\" (version 0.9.8)\n\"0x10000000L\" (version 1.0.0)\n\"0x10100000L\" (version 1.1.0)\n\nFor convenience, higher numbers are accepted as  well,  as  long  as  feasible.   For\nexample,  \"0x60000000L\"  will  work as expected.  However, it is recommended to start\nusing the second form instead:\n\n\"mmnnpp\"\nThis form is a simple decimal number calculated with this formula:\n\nmajor * 10000 + minor * 100 + patch\n\nwhere major, minor and patch are the desired major, minor and patch components of the\nversion number.  For example:\n\n30000 corresponds to version 3.0.0\n10002 corresponds to version 1.0.2\n420101 corresponds to version 42.1.1\n\nIf OPENSSLAPICOMPAT is undefined, this default value is used in its place: 30000\n\nOPENSSLNODEPRECATED\nIf this macro is defined, all deprecated public symbols in all OpenSSL versions up to and\nincluding the version given by OPENSSLAPICOMPAT (or the default value given above, when\nOPENSSLAPICOMPAT isn't defined) will be hidden.\n"
                    }
                ]
            },
            "COPYRIGHT": {
                "content": "Copyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved.\n\nLicensed under the Apache License 2.0 (the \"License\").  You may not use this file  except  in\ncompliance  with  the  License.   You  can  obtain  a  copy in the file LICENSE in the source\ndistribution or at <https://www.openssl.org/source/license.html>.\n\n3.0.13                                       2026-07-29                    OPENSSLUSERMACROS(7SSL)",
                "subsections": []
            }
        }
    }
}