NAME

ldap_str2syntax, ldap_syntax2str, ldap_syntax2name, ldap_syntax_free, ldap_str2matchingrule, ldap_matchingrule2str, ldap_matchingrule2name, ldap_matchingrule_free, ldap_str2attributetype, ldap_attributetype2str, ldap_attributetype2name, ldap_attributetype_free, ldap_str2objectclass, ldap_objectclass2str, ldap_objectclass2name, ldap_objectclass_free, ldap_scherr2str - Schema definition handling routines

LIBRARY

OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS


##iinncclluuddee <>
##iinncclluuddee <>
<>
<>
LLDDAAPPSSyynnttaaxx ** llddaapp__ssttrr22ssyynnttaaxx((ss,, ccooddee,, eerrrrpp,, ffllaaggss))
ccoonnsstt cchhaarr ** ss;;
iinntt ** ccooddee;;
ccoonnsstt cchhaarr **** eerrrrpp;;
ccoonnsstt iinntt ffllaaggss;;
<>
cchhaarr ** llddaapp__ssyynnttaaxx22ssttrr((ssyynn))
ccoonnsstt LLDDAAPPSSyynnttaaxx ** ssyynn;;
<>
ccoonnsstt cchhaarr ** llddaapp__ssyynnttaaxx22nnaammee((ssyynn))
LLDDAAPPSSyynnttaaxx ** ssyynn;;
<>
llddaapp__ssyynnttaaxx__ffrreeee((ssyynn))
LLDDAAPPSSyynnttaaxx ** ssyynn;;
<>
LLDDAAPPMMaattcchhiinnggRRuullee ** llddaapp__ssttrr22mmaattcchhiinnggrruullee((ss,, ccooddee,, eerrrrpp,, ffllaaggss))
ccoonnsstt cchhaarr ** ss;;
iinntt ** ccooddee;;
ccoonnsstt cchhaarr **** eerrrrpp;;
ccoonnsstt iinntt ffllaaggss;;
<>
cchhaarr ** llddaapp__mmaattcchhiinnggrruullee22ssttrr((mmrr));;
ccoonnsstt LLDDAAPPMMaattcchhiinnggRRuullee ** mmrr;;
<>
ccoonnsstt cchhaarr ** llddaapp__mmaattcchhiinnggrruullee22nnaammee((mmrr))
LLDDAAPPMMaattcchhiinnggRRuullee ** mmrr;;
<>
llddaapp__mmaattcchhiinnggrruullee__ffrreeee((mmrr))
LLDDAAPPMMaattcchhiinnggRRuullee ** mmrr;;
<>
LLDDAAPPAAttttrriibbuutteeTTyyppee ** llddaapp__ssttrr22aattttrriibbuutteettyyppee((ss,, ccooddee,, eerrrrpp,, ffllaaggss))
ccoonnsstt cchhaarr ** ss;;
iinntt ** ccooddee;;
ccoonnsstt cchhaarr **** eerrrrpp;;
ccoonnsstt iinntt ffllaaggss;;
<>
cchhaarr ** llddaapp__aattttrriibbuutteettyyppee22ssttrr((aatt))
ccoonnsstt LLDDAAPPAAttttrriibbuutteeTTyyppee ** aatt;;
<>
ccoonnsstt cchhaarr ** llddaapp__aattttrriibbuutteettyyppee22nnaammee((aatt))
LLDDAAPPAAttttrriibbuutteeTTyyppee ** aatt;;
<>
llddaapp__aattttrriibbuutteettyyppee__ffrreeee((aatt))
LLDDAAPPAAttttrriibbuutteeTTyyppee ** aatt;;
<>
LLDDAAPPOObbjjeeccttCCllaassss ** llddaapp__ssttrr22oobbjjeeccttccllaassss((ss,, ccooddee,, eerrrrpp,, ffllaaggss))
ccoonnsstt cchhaarr ** ss;;
iinntt ** ccooddee;;
ccoonnsstt cchhaarr **** eerrrrpp;;
ccoonnsstt iinntt ffllaaggss;;
<>
cchhaarr ** llddaapp__oobbjjeeccttccllaassss22ssttrr((oocc))
ccoonnsstt LLDDAAPPOObbjjeeccttCCllaassss ** oocc;;
<>
ccoonnsstt cchhaarr ** llddaapp__oobbjjeeccttccllaassss22nnaammee((oocc))
LLDDAAPPOObbjjeeccttCCllaassss ** oocc;;
<>
llddaapp__oobbjjeeccttccllaassss__ffrreeee((oocc))
LLDDAAPPOObbjjeeccttCCllaassss ** oocc;;
<>
cchhaarr ** llddaapp__sscchheerrrr22ssttrr((ccooddee))
iinntt ccooddee;;
<> DDEESSCCRRIIPPTTIIOONN <>
TThheessee rroouuttiinneess aarree uusseedd ttoo ppaarrssee sscchheemmaa ddeeffiinniittiioonnss iinn tthhee ssyynnttaaxx
ddeeffiinneedd iinn RRFFCC 44551122 iinnttoo ssttrruuccttss aanndd hhaannddllee tthheessee ssttrruuccttss..  TThheessee
rroouuttiinneess hhaannddllee ffoouurr kkiinnddss ooff ddeeffiinniittiioonnss:: ssyynnttaaxxeess,, mmaattcchhiinngg rruulleess,,
aattttrriibbuuttee ttyyppeess aanndd oobbjjeecctt ccllaasssseess..  FFoorr eeaacchh ddeeffiinniittiioonn kkiinndd,, ffoouurr
rroouuttiinneess aarree pprroovviiddeedd..
<>
<>llddaapp__ssttrr22xxxxxx(())<>
ttaakkeess aa ddeeffiinniittiioonn iinn RRFFCC 44551122 ffoorrmmaatt iinn aarrgguummeenntt
ss
aass aa NNUULL--tteerrmmiinnaatteedd ssttrriinngg aanndd rreettuurrnnss,, iiff ppoossssiibbllee,, aa ppooiinntteerr ttoo aa
nneewwllyy aallllooccaatteedd ssttrruucctt ooff tthhee aapppprroopprriiaattee kkiinndd..  TThhee ccaalllleerr iiss
rreessppoonnssiibbllee ffoorr ffrreeeeiinngg tthhee ssttrruucctt bbyy ccaalllliinngg
<>llddaapp__xxxxxx__ffrreeee(())<>
wwhheenn nnoott nneeeeddeedd aannyy lloonnggeerr..  TThhee rroouuttiinnee rreettuurrnnss NNUULLLL iiff ssoommee pprroobblleemm
hhaappppeenneedd..  IInn tthhiiss ccaassee,, tthhee iinntteeggeerr ppooiinntteedd aatt bbyy aarrgguummeenntt
ccooddee
wwiillll rreecceeiivvee aann eerrrroorr ccooddee ((sseeee bbeellooww tthhee ddeessccrriippttiioonn ooff
<>llddaapp__sscchheerrrr22ssttrr(())<>
ffoorr aann eexxppllaannaattiioonn ooff tthhee vvaalluueess)) aanndd aa ppooiinntteerr ttoo aa NNUULL--tteerrmmiinnaatteedd
ssttrriinngg wwiillll bbee ppllaacceedd wwhheerree rreeqquueesstteedd bbyy aarrgguummeenntt
eerrrrpp
,, iinnddiiccaattiinngg wwhheerree iinn aarrgguummeenntt
ss
tthhee eerrrroorr hhaappppeenneedd,, ssoo iitt mmuusstt nnoott bbee ffrreeeedd bbyy tthhee ccaalllleerr..  AArrgguummeenntt
ffllaaggss
iiss aa bbiitt mmaasskk ooff ppaarrssiinngg ooppttiioonnss ccoonnttrroolllliinngg tthhee rreellaaxxaattiioonn ooff tthhee
ssyynnttaaxx rreeccooggnniizzeedd..  TThhee ffoolllloowwiinngg vvaalluueess aarree ddeeffiinneedd::
<>
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__NNOONNEE<>
<>
ssttrriicctt ppaarrssiinngg aaccccoorrddiinngg ttoo RRFFCC 44551122..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__NNOO__OOIIDD<>
<>
ppeerrmmiitt ddeeffiinniittiioonnss tthhaatt ddoo nnoott ccoonnttaaiinn aann iinniittiiaall OOIIDD..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__QQUUOOTTEEDD<>
<>
ppeerrmmiitt qquuootteess aarroouunndd ssoommee iitteemmss tthhaatt sshhoouulldd nnoott hhaavvee tthheemm..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__DDEESSCCRR<>
<>
ppeerrmmiitt aa
<>ddeessccrr<>
iinnsstteeaadd ooff aa nnuummeerriicc OOIIDD iinn ppllaacceess wwhheerree tthhee ssyynnttaaxx eexxppeecctt tthhee llaatttteerr..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__DDEESSCCRR__PPRREEFFIIXX<>
<>
ppeerrmmiitt tthhaatt tthhee iinniittiiaall nnuummeerriicc OOIIDD ccoonnttaaiinnss aa pprreeffiixx iinn
<>ddeessccrr<>
ffoorrmmaatt..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AALLLLOOWW__AALLLL<>
<>
bbee vveerryy lliibbeerraall,, iinncclluuddee aallll ooppttiioonnss..
<>
<>
TThhee ssttrruuccttuurreess rreettuurrnneedd aarree aass ffoolllloowwss::
<><>
<>
<>


ttyyppeeddeeff ssttrruucctt llddaapp__sscchheemmaa__eexxtteennssiioonn__iitteemm {{
        cchhaarr **llsseeii__nnaammee;;        //** EExxtteennssiioonn nnaammee **//
        cchhaarr ****llsseeii__vvaalluueess;;     //** EExxtteennssiioonn vvaalluueess **//
}} LLDDAAPPSScchheemmaaEExxtteennssiioonnIItteemm;;
<>
        <>
ttyyppeeddeeff ssttrruucctt llddaapp__ssyynnttaaxx {{
        cchhaarr **ssyynn__ooiidd;;          //** OOIIDD **//
        cchhaarr ****ssyynn__nnaammeess;;       //** NNaammeess **//
        cchhaarr **ssyynn__ddeesscc;;         //** DDeessccrriippttiioonn **//
        LLDDAAPPSScchheemmaaEExxtteennssiioonnIItteemm ****ssyynn__eexxtteennssiioonnss;; //** EExxtteennssiioonn **//
}} LLDDAAPPSSyynnttaaxx;;
        <>
ttyyppeeddeeff ssttrruucctt llddaapp__mmaattcchhiinnggrruullee {{
        cchhaarr **mmrr__ooiidd;;           //** OOIIDD **//
        cchhaarr ****mmrr__nnaammeess;;        //** NNaammeess **//
        cchhaarr **mmrr__ddeesscc;;          //** DDeessccrriippttiioonn **//
        iinntt  mmrr__oobbssoolleettee;;       //** IIss oobbssoolleettee?? **//
        cchhaarr **mmrr__ssyynnttaaxx__ooiidd;;    //** SSyynnttaaxx ooff aasssseerrtteedd vvaalluueess **//
        LLDDAAPPSScchheemmaaEExxtteennssiioonnIItteemm ****mmrr__eexxtteennssiioonnss;; //** EExxtteennssiioonnss **//
}} LLDDAAPPMMaattcchhiinnggRRuullee;;
        <>
ttyyppeeddeeff ssttrruucctt llddaapp__aattttrriibbuutteettyyppee {{
        cchhaarr **aatt__ooiidd;;           //** OOIIDD **//
        cchhaarr ****aatt__nnaammeess;;        //** NNaammeess **//
        cchhaarr **aatt__ddeesscc;;          //** DDeessccrriippttiioonn **//
        iinntt  aatt__oobbssoolleettee;;       //** IIss oobbssoolleettee?? **//
        cchhaarr **aatt__ssuupp__ooiidd;;       //** OOIIDD ooff ssuuppeerriioorr ttyyppee **//
        cchhaarr **aatt__eeqquuaalliittyy__ooiidd;;  //** OOIIDD ooff eeqquuaalliittyy mmaattcchhiinngg rruullee **//
        cchhaarr **aatt__oorrddeerriinngg__ooiidd;;  //** OOIIDD ooff oorrddeerriinngg mmaattcchhiinngg rruullee **//
        cchhaarr **aatt__ssuubbssttrr__ooiidd;;    //** OOIIDD ooff ssuubbssttrriinnggss mmaattcchhiinngg rruullee **//
        cchhaarr **aatt__ssyynnttaaxx__ooiidd;;    //** OOIIDD ooff ssyynnttaaxx ooff vvaalluueess **//
        iinntt  aatt__ssyynnttaaxx__lleenn;;     //** SSuuggggeesstteedd mmiinniimmuumm mmaaxxiimmuumm lleennggtthh **//
        iinntt  aatt__ssiinnggllee__vvaalluuee;;   //** IIss ssiinnggllee--vvaalluueedd??  **//
        iinntt  aatt__ccoolllleeccttiivvee;;     //** IIss ccoolllleeccttiivvee?? **//
        iinntt  aatt__nnoo__uusseerr__mmoodd;;    //** AArree cchhaannggeess ffoorrbbiiddddeenn tthhrroouugghh LLDDAAPP?? **//
        iinntt  aatt__uussaaggee;;          //** UUssaaggee,, sseeee bbeellooww **//
        LLDDAAPPSScchheemmaaEExxtteennssiioonnIItteemm ****aatt__eexxtteennssiioonnss;; //** EExxtteennssiioonnss **//
}} LLDDAAPPAAttttrriibbuutteeTTyyppee;;
        <>
ttyyppeeddeeff ssttrruucctt llddaapp__oobbjjeeccttccllaassss {{
        cchhaarr **oocc__ooiidd;;           //** OOIIDD **//
        cchhaarr ****oocc__nnaammeess;;        //** NNaammeess **//
        cchhaarr **oocc__ddeesscc;;          //** DDeessccrriippttiioonn **//
        iinntt  oocc__oobbssoolleettee;;       //** IIss oobbssoolleettee?? **//
        cchhaarr ****oocc__ssuupp__ooiiddss;;     //** OOIIDDss ooff ssuuppeerriioorr ccllaasssseess **//
        iinntt  oocc__kkiinndd;;           //** KKiinndd,, sseeee bbeellooww **//
        cchhaarr ****oocc__aatt__ooiiddss__mmuusstt;; //** OOIIDDss ooff rreeqquuiirreedd aattttrriibbuuttee ttyyppeess **//
        cchhaarr ****oocc__aatt__ooiiddss__mmaayy;;  //** OOIIDDss ooff ooppttiioonnaall aattttrriibbuuttee ttyyppeess **//
        LLDDAAPPSScchheemmaaEExxtteennssiioonnIItteemm ****oocc__eexxtteennssiioonnss;; //** EExxtteennssiioonnss **//
}} LLDDAAPPOObbjjeeccttCCllaassss;;
<>
SSoommee iinntteeggeerr ffiieellddss ((tthhoossee ddeessccrriibbeedd wwiitthh aa qquueessttiioonn mmaarrkk)) hhaavvee aa
ttrruutthh vvaalluuee,, ffoorr tthheessee ffiieellddss tthhee ppoossssiibbllee vvaalluueess aarree::
<>
<>
<>LLDDAAPP__SSCCHHEEMMAA__NNOO<>
<>
TThhee aannsswweerr ttoo tthhee qquueessttiioonn iiss nnoo..
<>
<>LLDDAAPP__SSCCHHEEMMAA__YYEESS<>
<>
TThhee aannsswweerr ttoo tthhee qquueessttiioonn iiss yyeess..
<>
<>
FFoorr aattttrriibbuuttee ttyyppeess,, tthhee ffoolllloowwiinngg uussaaggeess aarree ppoossssiibbllee::
<>
<>
<>LLDDAAPP__SSCCHHEEMMAA__UUSSEERR__AAPPPPLLIICCAATTIIOONNSS<>
<>
tthhee aattttrriibbuuttee ttyyppee iiss nnoonn--ooppeerraattiioonnaall..
<>
<>LLDDAAPP__SSCCHHEEMMAA__DDIIRREECCTTOORRYY__OOPPEERRAATTIIOONN<>
<>
tthhee aattttrriibbuuttee ttyyppee iiss ooppeerraattiioonnaall aanndd iiss ppeerrttiinneenntt ttoo tthhee ddiirreeccttoorryy
iittsseellff,, ii..ee.. iitt hhaass tthhee ssaammee vvaalluuee oonn aallll sseerrvveerrss tthhaatt mmaasstteerr tthhee
eennttrryy ccoonnttaaiinniinngg tthhiiss aattttrriibbuuttee ttyyppee..
<>
<>LLDDAAPP__SSCCHHEEMMAA__DDIISSTTRRIIBBUUTTEEDD__OOPPEERRAATTIIOONN<>
<>
tthhee aattttrriibbuuttee ttyyppee iiss ooppeerraattiioonnaall aanndd iiss ppeerrttiinneenntt ttoo rreepplliiccaattiioonn,,
sshhaaddoowwiinngg oorr ootthheerr ddiissttrriibbuutteedd ddiirreeccttoorryy aassppeecctt..  TTBBCC..
<>
<>LLDDAAPP__SSCCHHEEMMAA__DDSSAA__OOPPEERRAATTIIOONN<>
<>
tthhee aattttrriibbuuttee ttyyppee iiss ooppeerraattiioonnaall aanndd iiss ppeerrttiinneenntt ttoo tthhee ddiirreeccttoorryy
sseerrvveerr iittsseellff,, ii..ee.. iitt mmaayy hhaavvee ddiiffffeerreenntt vvaalluueess ffoorr tthhee ssaammee eennttrryy
wwhheenn rreettrriieevveedd ffrroomm ddiiffffeerreenntt sseerrvveerrss tthhaatt mmaasstteerr tthhee eennttrryy..
<>
<>
OObbjjeecctt ccllaasssseess ccaann bbee ooff tthhrreeee kkiinnddss::
<>
<>
<>LLDDAAPP__SSCCHHEEMMAA__AABBSSTTRRAACCTT<>
<>
tthhee oobbjjeecctt ccllaassss iiss aabbssttrraacctt,, ii..ee.. tthheerree ccaannnnoott bbee eennttrriieess ooff tthhiiss
ccllaassss aalloonnee..
<>
<>LLDDAAPP__SSCCHHEEMMAA__SSTTRRUUCCTTUURRAALL<>
<>
tthhee oobbjjeecctt ccllaassss iiss ssttrruuccttuurraall,, ii..ee.. iitt ddeessccrriibbeess tthhee mmaaiinn rroollee ooff tthhee
eennttrryy..  OOnn ssoommee sseerrvveerrss,, oonnccee tthhee eennttrryy iiss ccrreeaatteedd tthhee sseett ooff
ssttrruuccttuurraall oobbjjeecctt ccllaasssseess aassssiiggnneedd ccaannnnoott bbee cchhaannggeedd:: nnoonnee ooff tthhoossee
pprreesseenntt ccaann bbee rreemmoovveedd aanndd nnoonnee ootthheerr ccaann bbee aaddddeedd..
<>
<>LLDDAAPP__SSCCHHEEMMAA__AAUUXXIILLIIAARRYY<>
<>
tthhee oobbjjeecctt ccllaassss iiss aauuxxiilliiaarryy,, ii..ee.. iitt iiss iinntteennddeedd ttoo ggoo wwiitthh ootthheerr,,
ssttrruuccttuurraall,, oobbjjeecctt ccllaasssseess..  TThheessee ccaann bbee aaddddeedd oorr rreemmoovveedd aatt aannyy ttiimmee
iiff aattttrriibbuuttee ttyyppeess aarree aaddddeedd oorr rreemmoovveedd aatt tthhee ssaammee ttiimmee aass nneeeeddeedd bbyy
tthhee sseett ooff oobbjjeecctt ccllaasssseess rreessuullttiinngg ffrroomm tthhee ooppeerraattiioonn..
<>
<>
RRoouuttiinneess
<>llddaapp__xxxxxx22nnaammee(())<>
rreettuurrnn aa ccaannoonniiccaall nnaammee ffoorr tthhee ddeeffiinniittiioonn..
<>
RRoouuttiinneess
<>llddaapp__xxxxxx22ssttrr(())<>
rreettuurrnn aa ssttrriinngg rreepprreesseennttaattiioonn iinn tthhee ffoorrmmaatt ddeessccrriibbeedd bbyy RRFFCC 44551122 ooff
tthhee ssttrruucctt ppaasssseedd iinn tthhee aarrgguummeenntt..  TThhee ssttrriinngg iiss aa nneewwllyy aallllooccaatteedd
ssttrriinngg tthhaatt mmuusstt bbee ffrreeeedd bbyy tthhee ccaalllleerr..  TThheessee rroouuttiinneess mmaayy rreettuurrnn
NNUULLLL iiff nnoo mmeemmoorryy ccaann bbee aallllooccaatteedd ffoorr tthhee ssttrriinngg..
<>
<>llddaapp__sscchheerrrr22ssttrr(())<>
rreettuurrnnss aa NNUULL--tteerrmmiinnaatteedd ssttrriinngg wwiitthh aa tteexxtt ddeessccrriippttiioonn ooff tthhee eerrrroorr
ffoouunndd..  TThhiiss iiss aa ppooiinntteerr ttoo aa ssttaattiicc aarreeaa,, ssoo iitt mmuusstt nnoott bbee ffrreeeedd bbyy
tthhee ccaalllleerr..  TThhee aarrgguummeenntt
ccooddee
ccoommeess ffrroomm oonnee ooff tthhee ppaarrssiinngg rroouuttiinneess aanndd ccaann aaddoopptt tthhee ffoolllloowwiinngg
vvaalluueess::
<>
<>
<>LLDDAAPP__SSCCHHEERRRR__OOUUTTOOFFMMEEMM<>
<>
OOuutt ooff mmeemmoorryy..
<>
<>LLDDAAPP__SSCCHHEERRRR__UUNNEEXXPPTTOOKKEENN<>
<>
UUnneexxppeecctteedd ttookkeenn..
<>
<>LLDDAAPP__SSCCHHEERRRR__NNOOLLEEFFTTPPAARREENN<>
<>
MMiissssiinngg ooppeenniinngg ppaarreenntthheessiiss..
<>
<>LLDDAAPP__SSCCHHEERRRR__NNOORRIIGGHHTTPPAARREENN<>
<>
MMiissssiinngg cclloossiinngg ppaarreenntthheessiiss..
<>
<>LLDDAAPP__SSCCHHEERRRR__NNOODDIIGGIITT<>
<>
EExxppeeccttiinngg ddiiggiitt..
<>
<>LLDDAAPP__SSCCHHEERRRR__BBAADDNNAAMMEE<>
<>
EExxppeeccttiinngg aa nnaammee..
<>
<>LLDDAAPP__SSCCHHEERRRR__BBAADDDDEESSCC<>
<>
BBaadd ddeessccrriippttiioonn..
<>
<>LLDDAAPP__SSCCHHEERRRR__BBAADDSSUUPP<>
<>
BBaadd ssuuppeerriioorrss..
<>
<>LLDDAAPP__SSCCHHEERRRR__DDUUPPOOPPTT<>
<>
DDuupplliiccaattee ooppttiioonn..
<>
<>LLDDAAPP__SSCCHHEERRRR__EEMMPPTTYY<>
<>
UUnneexxppeecctteedd eenndd ooff ddaattaa..
<>
<>
<> SSEEEE AALLSSOO <>
<>llddaapp((33))<>
<> AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS <>
<>OOppeennLLDDAAPP SSooffttwwaarree<>
iiss ddeevveellooppeedd aanndd mmaaiinnttaaiinneedd bbyy TThhee OOppeennLLDDAAPP PPrroojjeecctt <>..
<>OOppeennLLDDAAPP SSooffttwwaarree<>
iiss ddeerriivveedd ffrroomm UUnniivveerrssiittyy ooff MMiicchhiiggaann LLDDAAPP 33..33 RReelleeaassee..
<>
<>