{
    "content": [
        {
            "type": "text",
            "text": "# POSIXOPTIONS (man)\n\n## NAME\n\nposixoptions - optional parts of the POSIX standard\n\n## DESCRIPTION\n\nThe  POSIX standard (the information below is from POSIX.1-2001) describes a set of behaviors\nand interfaces for a compliant system.  However, many interfaces are optional and  there  are\nfeature  test  macros  to  test the availability of interfaces at compile time, and functions\nsysconf(3), fpathconf(3), pathconf(3), confstr(3) to do this at run time.  From shell scripts\none can use getconf(1).  For more detail, see sysconf(3).\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION**\n- **X/OPEN SYSTEM INTERFACE EXTENSIONS**\n- **SEE ALSO**\n- **COLOPHON**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "POSIXOPTIONS",
        "section": "",
        "mode": "man",
        "summary": "posixoptions - optional parts of the POSIX standard",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "sysconf",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/sysconf/3/json"
            },
            {
                "name": "standards",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/standards/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 547,
                "subsections": []
            },
            {
                "name": "X/OPEN SYSTEM INTERFACE EXTENSIONS",
                "lines": 128,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "COLOPHON",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "posixoptions - optional parts of the POSIX standard\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The  POSIX standard (the information below is from POSIX.1-2001) describes a set of behaviors\nand interfaces for a compliant system.  However, many interfaces are optional and  there  are\nfeature  test  macros  to  test the availability of interfaces at compile time, and functions\nsysconf(3), fpathconf(3), pathconf(3), confstr(3) to do this at run time.  From shell scripts\none can use getconf(1).  For more detail, see sysconf(3).\n\nWe  give the name of the POSIX abbreviation, the option, the name of the sysconf(3) parameter\nused to inquire about the option, and possibly a very short description.  Much  more  precise\ndetail  can be found in the POSIX standard itself, versions of which can nowadays be accessed\nfreely on the web.\n\nADV - POSIXADVISORYINFO - SCADVISORYINFO\nThe following advisory functions are present:\n\nposixfadvise()\nposixfallocate()\nposixmemalign()\nposixmadvise()\n\nAIO - POSIXASYNCHRONOUSIO - SCASYNCHRONOUSIO\nThe header <aio.h> is present.  The following functions are present:\n\naiocancel()\naioerror()\naiofsync()\naioread()\naioreturn()\naiosuspend()\naiowrite()\nliolistio()\n\nBAR - POSIXBARRIERS - SCBARRIERS\nThis option implies the POSIXTHREADS and POSIXTHREADSAFEFUNCTIONS options.  The follow‐\ning functions are present:\n\npthreadbarrierdestroy()\npthreadbarrierinit()\npthreadbarrierwait()\npthreadbarrierattrdestroy()\npthreadbarrierattrinit()\n\n--- - POSIXCHOWNRESTRICTED\nIf  this  option is in effect (as it always is under POSIX.1-2001), then only root may change\nthe owner of a file, and nonroot can set the group of a file only to one of the groups it be‐\nlongs to.  This affects the following functions\n\nchown()\nfchown()\n\nCS - POSIXCLOCKSELECTION - SCCLOCKSELECTION\nThis option implies the POSIXTIMERS option.  The following functions are present:\n\npthreadcondattrgetclock()\npthreadcondattrsetclock()\nclocknanosleep()\n\nIf  CLOCKREALTIME  is  changed by the function clocksettime(), then this affects all timers\nset for an absolute time.\n\nCPT - POSIXCPUTIME - SCCPUTIME\nThe CLOCKPROCESSCPUTIMEID clock ID is supported.  The initial value of this clock is 0 for\neach  process.   This  option  implies  the POSIXTIMERS option.  The function clockgetcpu‐\nclockid() is present.\n\n--- - POSIXFILELOCKING - SCFILELOCKING\nThis option has been deleted.  Not in final XPG6.\n\nFSC - POSIXFSYNC - SCFSYNC\nThe function fsync() is present.\n\nIP6 - POSIXIPV6 - SCIPV6\nInternet Protocol Version 6 is supported.\n\n--- - POSIXJOBCONTROL - SCJOBCONTROL\nIf this option is in effect (as it always is under POSIX.1-2001), then the system  implements\nPOSIX-style job control, and the following functions are present:\n\nsetpgid()\ntcdrain()\ntcflush()\ntcgetpgrp()\ntcsendbreak()\ntcsetattr()\ntcsetpgrp()\n\nMF - POSIXMAPPEDFILES - SCMAPPEDFILES\nShared  memory  is supported.  The include file <sys/mman.h> is present.  The following func‐\ntions are present:\n\nmmap()\nmsync()\nmunmap()\n\nML - POSIXMEMLOCK - SCMEMLOCK\nShared memory can be locked into core.  The following functions are present:\n\nmlockall()\nmunlockall()\n\nMR/MLR - POSIXMEMLOCKRANGE - SCMEMLOCKRANGE\nMore precisely, ranges can be locked into core.  The following functions are present:\n\nmlock()\nmunlock()\n\nMPR - POSIXMEMORYPROTECTION - SCMEMORYPROTECTION\nThe function mprotect() is present.\n\nMSG - POSIXMESSAGEPASSING - SCMESSAGEPASSING\nThe include file <mqueue.h> is present.  The following functions are present:\n\nmqclose()\nmqgetattr()\nmqnotify()\nmqopen()\nmqreceive()\nmqsend()\nmqsetattr()\nmqunlink()\n\nMON - POSIXMONOTONICCLOCK - SCMONOTONICCLOCK\nCLOCKMONOTONIC is supported.  This option implies the POSIXTIMERS option.   The  following\nfunctions are affected:\n\naiosuspend()\nclockgetres()\nclockgettime()\nclocksettime()\ntimercreate()\n\n--- - POSIXMULTIPROCESS - SCMULTIPROCESS\nThis option has been deleted.  Not in final XPG6.\n\n--- - POSIXNOTRUNC\nIf  this  option  is in effect (as it always is under POSIX.1-2001), then pathname components\nlonger than NAMEMAX are not truncated, but give an error.  This property may be dependent on\nthe path prefix of the component.\n\nPIO - POSIXPRIORITIZEDIO - SCPRIORITIZEDIO\nThis  option  says  that  one  can specify priorities for asynchronous I/O.  This affects the\nfunctions\n\naioread()\naiowrite()\n\nPS - POSIXPRIORITYSCHEDULING - SCPRIORITYSCHEDULING\nThe include file <sched.h> is present.  The following functions are present:\n\nschedgetprioritymax()\nschedgetprioritymin()\nschedgetparam()\nschedgetscheduler()\nschedrrgetinterval()\nschedsetparam()\nschedsetscheduler()\nschedyield()\n\nIf also POSIXSPAWN is in effect, then the following functions are present:\n\nposixspawnattrgetschedparam()\nposixspawnattrgetschedpolicy()\nposixspawnattrsetschedparam()\nposixspawnattrsetschedpolicy()\n\nRS - POSIXRAWSOCKETS\nRaw sockets are supported.  The following functions are affected:\n\ngetsockopt()\nsetsockopt()\n\n--- - POSIXREADERWRITERLOCKS - SCREADERWRITERLOCKS\nThis  option  implies  the  POSIXTHREADS  option.   Conversely,  under   POSIX.1-2001   the\nPOSIXTHREADS option implies this option.\n\nThe following functions are present:\n\npthreadrwlockdestroy()\npthreadrwlockinit()\npthreadrwlockrdlock()\npthreadrwlocktryrdlock()\npthreadrwlocktrywrlock()\npthreadrwlockunlock()\npthreadrwlockwrlock()\npthreadrwlockattrdestroy()\npthreadrwlockattrinit()\n\nRTS - POSIXREALTIMESIGNALS - SCREALTIMESIGNALS\nRealtime signals are supported.  The following functions are present:\n\nsigqueue()\nsigtimedwait()\nsigwaitinfo()\n\n--- - POSIXREGEXP - SCREGEXP\nIf  this option is in effect (as it always is under POSIX.1-2001), then POSIX regular expres‐\nsions are supported and the following functions are present:\n\nregcomp()\nregerror()\nregexec()\nregfree()\n\n--- - POSIXSAVEDIDS - SCSAVEDIDS\nIf this option is in effect (as it always is under POSIX.1-2001), then a process has a  saved\nset-user-ID and a saved set-group-ID.  The following functions are affected:\n\nexec()\nkill()\nseteuid()\nsetegid()\nsetgid()\nsetuid()\n\nSEM - POSIXSEMAPHORES - SCSEMAPHORES\nThe include file <semaphore.h> is present.  The following functions are present:\n\nsemclose()\nsemdestroy()\nsemgetvalue()\nseminit()\nsemopen()\nsempost()\nsemtrywait()\nsemunlink()\nsemwait()\n\nSHM - POSIXSHAREDMEMORYOBJECTS - SCSHAREDMEMORYOBJECTS\nThe following functions are present:\n\nmmap()\nmunmap()\nshmopen()\nshmunlink()\n\n--- - POSIXSHELL - SCSHELL\nIf  this  option  is in effect (as it always is under POSIX.1-2001), the function system() is\npresent.\n\nSPN - POSIXSPAWN - SCSPAWN\nThis option describes support for process creation in a context where it is difficult or  im‐\npossible to use fork(), for example, because no MMU is present.\n\nIf POSIXSPAWN is in effect, then the include file <spawn.h> and the following functions are\npresent:\n\nposixspawn()\nposixspawnfileactionsaddclose()\nposixspawnfileactionsadddup2()\nposixspawnfileactionsaddopen()\nposixspawnfileactionsdestroy()\nposixspawnfileactionsinit()\nposixspawnattrdestroy()\nposixspawnattrgetsigdefault()\nposixspawnattrgetflags()\nposixspawnattrgetpgroup()\nposixspawnattrgetsigmask()\nposixspawnattrinit()\nposixspawnattrsetsigdefault()\nposixspawnattrsetflags()\nposixspawnattrsetpgroup()\nposixspawnattrsetsigmask()\nposixspawnp()\n\nIf also POSIXPRIORITYSCHEDULING is in effect, then the following functions are present:\n\nposixspawnattrgetschedparam()\nposixspawnattrgetschedpolicy()\nposixspawnattrsetschedparam()\nposixspawnattrsetschedpolicy()\n\nSPI - POSIXSPINLOCKS - SCSPINLOCKS\nThis option implies the POSIXTHREADS and POSIXTHREADSAFEFUNCTIONS options.  The follow‐\ning functions are present:\n\npthreadspindestroy()\npthreadspininit()\npthreadspinlock()\npthreadspintrylock()\npthreadspinunlock()\n\nSS - POSIXSPORADICSERVER - SCSPORADICSERVER\nThe  scheduling  policy  SCHEDSPORADIC  is supported.  This option implies the POSIXPRIOR‐‐\nITYSCHEDULING option.  The following functions are affected:\n\nschedsetparam()\nschedsetscheduler()\n\nSIO - POSIXSYNCHRONIZEDIO - SCSYNCHRONIZEDIO\nThe following functions are affected:\n\nopen()\nmsync()\nfsync()\nfdatasync()\n\nTSA - POSIXTHREADATTRSTACKADDR - SCTHREADATTRSTACKADDR\nThe following functions are affected:\n\npthreadattrgetstack()\npthreadattrgetstackaddr()\npthreadattrsetstack()\npthreadattrsetstackaddr()\n\nTSS - POSIXTHREADATTRSTACKSIZE - SCTHREADATTRSTACKSIZE\nThe following functions are affected:\n\npthreadattrgetstack()\npthreadattrgetstacksize()\npthreadattrsetstack()\npthreadattrsetstacksize()\n\nTCT - POSIXTHREADCPUTIME - SCTHREADCPUTIME\nThe clockID CLOCKTHREADCPUTIMEID is supported.  This option implies the POSIXTIMERS  op‐\ntion.  The following functions are affected:\n\npthreadgetcpuclockid()\nclockgetres()\nclockgettime()\nclocksettime()\ntimercreate()\n\nTPI - POSIXTHREADPRIOINHERIT - SCTHREADPRIOINHERIT\nThe following functions are affected:\n\npthreadmutexattrgetprotocol()\npthreadmutexattrsetprotocol()\n\nTPP - POSIXTHREADPRIOPROTECT - SCTHREADPRIOPROTECT\nThe following functions are affected:\n\npthreadmutexgetprioceiling()\npthreadmutexsetprioceiling()\npthreadmutexattrgetprioceiling()\npthreadmutexattrgetprotocol()\npthreadmutexattrsetprioceiling()\npthreadmutexattrsetprotocol()\n\nTPS - POSIXTHREADPRIORITYSCHEDULING - SCTHREADPRIORITYSCHEDULING\nIf  this  option  is in effect, the different threads inside a process can run with different\npriorities and/or different schedulers.  The following functions are affected:\n\npthreadattrgetinheritsched()\npthreadattrgetschedpolicy()\npthreadattrgetscope()\npthreadattrsetinheritsched()\npthreadattrsetschedpolicy()\npthreadattrsetscope()\npthreadgetschedparam()\npthreadsetschedparam()\npthreadsetschedprio()\n\nTSH - POSIXTHREADPROCESSSHARED - SCTHREADPROCESSSHARED\nThe following functions are affected:\n\npthreadbarrierattrgetpshared()\npthreadbarrierattrsetpshared()\npthreadcondattrgetpshared()\npthreadcondattrsetpshared()\npthreadmutexattrgetpshared()\npthreadmutexattrsetpshared()\npthreadrwlockattrgetpshared()\npthreadrwlockattrsetpshared()\n\nTSF - POSIXTHREADSAFEFUNCTIONS - SCTHREADSAFEFUNCTIONS\nThe following functions are affected:\n\nreaddirr()\ngetgrgidr()\ngetgrnamr()\ngetpwnamr()\ngetpwuidr()\nflockfile()\nftrylockfile()\nfunlockfile()\ngetcunlocked()\ngetcharunlocked()\nputcunlocked()\nputcharunlocked()\nrandr()\nstrerrorr()\nstrtokr()\nasctimer()\nctimer()\ngmtimer()\nlocaltimer()\n\nTSP - POSIXTHREADSPORADICSERVER - SCTHREADSPORADICSERVER\nThis option implies the POSIXTHREADPRIORITYSCHEDULING option.   The  following  functions\nare affected:\n\nschedgetparam()\nschedsetparam()\nschedsetscheduler()\n\nTHR - POSIXTHREADS - SCTHREADS\nBasic support for POSIX threads is available.  The following functions are present:\n\npthreadatfork()\npthreadattrdestroy()\npthreadattrgetdetachstate()\npthreadattrgetschedparam()\npthreadattrinit()\npthreadattrsetdetachstate()\npthreadattrsetschedparam()\npthreadcancel()\npthreadcleanuppush()\npthreadcleanuppop()\npthreadcondbroadcast()\npthreadconddestroy()\npthreadcondinit()\npthreadcondsignal()\npthreadcondtimedwait()\npthreadcondwait()\npthreadcondattrdestroy()\npthreadcondattrinit()\npthreadcreate()\npthreaddetach()\npthreadequal()\npthreadexit()\npthreadgetspecific()\npthreadjoin()\npthreadkeycreate()\npthreadkeydelete()\npthreadmutexdestroy()\npthreadmutexinit()\npthreadmutexlock()\npthreadmutextrylock()\npthreadmutexunlock()\npthreadmutexattrdestroy()\npthreadmutexattrinit()\npthreadonce()\npthreadrwlockdestroy()\npthreadrwlockinit()\npthreadrwlockrdlock()\npthreadrwlocktryrdlock()\npthreadrwlocktrywrlock()\npthreadrwlockunlock()\npthreadrwlockwrlock()\npthreadrwlockattrdestroy()\npthreadrwlockattrinit()\npthreadself()\npthreadsetcancelstate()\npthreadsetcanceltype()\npthreadsetspecific()\npthreadtestcancel()\n\nTMO - POSIXTIMEOUTS - SCTIMEOUTS\nThe following functions are present:\n\nmqtimedreceive()\nmqtimedsend()\npthreadmutextimedlock()\npthreadrwlocktimedrdlock()\npthreadrwlocktimedwrlock()\nsemtimedwait()\nposixtracetimedgetnextevent()\n\nTMR - POSIXTIMERS - SCTIMERS\nThe following functions are present:\n\nclockgetres()\nclockgettime()\nclocksettime()\nnanosleep()\ntimercreate()\ntimerdelete()\ntimergettime()\ntimergetoverrun()\ntimersettime()\n\nTRC - POSIXTRACE - SCTRACE\nPOSIX tracing is available.  The following functions are present:\n\nposixtraceattrdestroy()\nposixtraceattrgetclockres()\nposixtraceattrgetcreatetime()\nposixtraceattrgetgenversion()\nposixtraceattrgetmaxdatasize()\nposixtraceattrgetmaxsystemeventsize()\nposixtraceattrgetmaxusereventsize()\nposixtraceattrgetname()\nposixtraceattrgetstreamfullpolicy()\nposixtraceattrgetstreamsize()\nposixtraceattrinit()\nposixtraceattrsetmaxdatasize()\nposixtraceattrsetname()\nposixtraceattrsetstreamsize()\nposixtraceattrsetstreamfullpolicy()\nposixtraceclear()\nposixtracecreate()\nposixtraceevent()\nposixtraceeventidequal()\nposixtraceeventidgetname()\nposixtraceeventidopen()\nposixtraceeventtypelistgetnextid()\nposixtraceeventtypelistrewind()\nposixtraceflush()\nposixtracegetattr()\nposixtracegetstatus()\nposixtracegetnextevent()\nposixtraceshutdown()\nposixtracestart()\nposixtracestop()\nposixtracetrygetnextevent()\n\nTEF - POSIXTRACEEVENTFILTER - SCTRACEEVENTFILTER\nThis option implies the POSIXTRACE option.  The following functions are present:\n\nposixtraceeventsetadd()\nposixtraceeventsetdel()\nposixtraceeventsetempty()\nposixtraceeventsetfill()\nposixtraceeventsetismember()\nposixtracegetfilter()\nposixtracesetfilter()\nposixtracetrideventidopen()\n\nTRI - POSIXTRACEINHERIT - SCTRACEINHERIT\nTracing  children  of  the traced process is supported.  This option implies the POSIXTRACE\noption.  The following functions are present:\n\nposixtraceattrgetinherited()\nposixtraceattrsetinherited()\n\nTRL - POSIXTRACELOG - SCTRACELOG\nThis option implies the POSIXTRACE option.  The following functions are present:\n\nposixtraceattrgetlogfullpolicy()\nposixtraceattrgetlogsize()\nposixtraceattrsetlogfullpolicy()\nposixtraceattrsetlogsize()\nposixtraceclose()\nposixtracecreatewithlog()\nposixtraceopen()\nposixtracerewind()\n\nTYM - POSIXTYPEDMEMORYOBJECTS - SCTYPEDMEMORYOBJECT\nThe following functions are present:\n\nposixmemoffset()\nposixtypedmemgetinfo()\nposixtypedmemopen()\n\n--- - POSIXVDISABLE\nAlways present (probably 0).  Value to set a changeable special control character to indicate\nthat it is disabled.\n",
                "subsections": []
            },
            "X/OPEN SYSTEM INTERFACE EXTENSIONS": {
                "content": "XSI - XOPENCRYPT - SCXOPENCRYPT\nThe following functions are present:\n\ncrypt()\nencrypt()\nsetkey()\n\nXSI - XOPENREALTIME - SCXOPENREALTIME\nThis option implies the following options:\n\nPOSIXASYNCHRONOUSIO==200112L\nPOSIXFSYNC\nPOSIXMAPPEDFILES\nPOSIXMEMLOCK==200112L\nPOSIXMEMLOCKRANGE==200112L\nPOSIXMEMORYPROTECTION\nPOSIXMESSAGEPASSING==200112L\nPOSIXPRIORITIZEDIO\nPOSIXPRIORITYSCHEDULING==200112L\nPOSIXREALTIMESIGNALS==200112L\nPOSIXSEMAPHORES==200112L\nPOSIXSHAREDMEMORYOBJECTS==200112L\nPOSIXSYNCHRONIZEDIO==200112L\nPOSIXTIMERS==200112L\n\nADV - --- - ---\nThe  Advanced  Realtime  option  group  implies that the following options are all defined to\n200112L:\n\nPOSIXADVISORYINFO\nPOSIXCLOCKSELECTION\n(implies POSIXTIMERS)\nPOSIXCPUTIME\n(implies POSIXTIMERS)\nPOSIXMONOTONICCLOCK\n(implies POSIXTIMERS)\nPOSIXSPAWN\nPOSIXSPORADICSERVER\n(implies POSIXPRIORITYSCHEDULING)\nPOSIXTIMEOUTS\nPOSIXTYPEDMEMORYOBJECTS\n\nXSI - XOPENREALTIMETHREADS - SCXOPENREALTIMETHREADS\nThis option implies that the following options are all defined to 200112L:\n\nPOSIXTHREADPRIOINHERIT\nPOSIXTHREADPRIOPROTECT\nPOSIXTHREADPRIORITYSCHEDULING\n\nADVANCED REALTIME THREADS - --- - ---\nThis option implies that the following options are all defined to 200112L:\n\nPOSIXBARRIERS\n(implies POSIXTHREADS, POSIXTHREADSAFEFUNCTIONS)\nPOSIXSPINLOCKS\n(implies POSIXTHREADS, POSIXTHREADSAFEFUNCTIONS)\nPOSIXTHREADCPUTIME\n(implies POSIXTIMERS)\nPOSIXTHREADSPORADICSERVER\n(implies POSIXTHREADPRIORITYSCHEDULING)\n\nTRACING - --- - ---\nThis option implies that the following options are all defined to 200112L:\n\nPOSIXTRACE\nPOSIXTRACEEVENTFILTER\nPOSIXTRACELOG\nPOSIXTRACEINHERIT\n\nSTREAMS - XOPENSTREAMS - SCXOPENSTREAMS\nThe following functions are present:\n\nfattach()\nfdetach()\ngetmsg()\ngetpmsg()\nioctl()\nisastream()\nputmsg()\nputpmsg()\n\nXSI - XOPENLEGACY - SCXOPENLEGACY\nFunctions included in the legacy option group were previously mandatory, but are now optional\nin this version.  The following functions are present:\n\nbcmp()\nbcopy()\nbzero()\necvt()\nfcvt()\nftime()\ngcvt()\ngetcwd()\nindex()\nmktemp()\nrindex()\nutimes()\nwcswcs()\n\nXSI - XOPENUNIX - SCXOPENUNIX\nThe following functions are present:\n\nmmap()\nmunmap()\nmsync()\n\nThis option implies the following options:\n\nPOSIXFSYNC\nPOSIXMAPPEDFILES\nPOSIXMEMORYPROTECTION\nPOSIXTHREADATTRSTACKADDR\nPOSIXTHREADATTRSTACKSIZE\nPOSIXTHREADPROCESSSHARED\nPOSIXTHREADSAFEFUNCTIONS\nPOSIXTHREADS\n\nThis option may imply the following options from the XSI option groups:\n\nEncryption (XOPENCRYPT)\nRealtime (XOPENREALTIME)\nAdvanced Realtime (ADB)\nRealtime Threads (XOPENREALTIMETHREADS)\nAdvanced Realtime Threads (ADVANCED REALTIME THREADS)\nTracing (TRACING)\nXSI Streams (STREAMS)\nLegacy (XOPENLEGACY)\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "sysconf(3), standards(7)\n",
                "subsections": []
            },
            "COLOPHON": {
                "content": "This  page  is  part  of  release  5.10 of the Linux man-pages project.  A description of the\nproject, information about reporting bugs, and the latest version of this page, can be  found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\n2018-04-30                              POSIXOPTIONS(7)",
                "subsections": []
            }
        }
    }
}