Unix Man (Ñïðàâî÷íîå ðóêîâîäñòâî)

         

SDENTER(3)


SDENTER(3)
XENIX System V (21 èþíÿ 1987)

ÈÌß


sdenter, sdleave - cèíxpoíèçèpyeò äocòyï ê paçäeëÿeìûì ceãìeíòaì äaííûx

ÑÈÍÒÀÊÑÈÑ

#include <sys/sd.h>

int sdenter (addr, flags) char *addr; int flags;

int sdleave (addr) char *addr;

ÎÏÈÑÀÍÈÅ


Sdenter ècïoëüçyeòcÿ ïpè ïoïûòêe òeêyùeão ïpoöecca ïoëy÷èòü äocòyï ê coäepæèìoìy paçäeëÿeìoão ceãìeíòa äaííûx. Apãyìeíò addr paâeí çía÷eíèþ, âoçâpaùeííoìy ïpeäûäyùèì âûçoâoì . Bûïoëíÿeìoe äeécòâèe oïpeäeëÿeòcÿ apãyìeíòoì flags, êoòopûé còpoèòcÿ ëoãè÷ecêoé cëoæeíèeì cëeäyþùèx ôëaãoâ:

SD_NOWAIT Ecëè äpyãoé ïpoöecc yæe cäeëaë âûçoâ sdenter ïo oòíoøeíèþ ê ýòoìy ceãìeíòy äaííûx, ío íe cäeëaë cooòâeòcòâyþùèé sdleave c ôëaãoì SD_UNLOCK, ïpoöecc íe æäeò ocâoáoæäeíèÿ ceãìeíòa è ôèêcèpyeòcÿ oøèáêa ENAVAIL.

SD_WRITE Óêaçûâaeò, ÷òo ïpoöecc coáèpaeòcÿ äeëaòü çaïècü â paçäeëÿeìûé ceãìeíò äaííûx. Ïpoöecc, ïpècoeäèíèâøèé paçäeëÿeìûé ceãìeíò äaííûx c ycòaíoâëeííûì ôëaãoì SD_RDONLY, íe ìoæeò âûïoëíÿòü sdenter c ôëaãoì SD_WRITE.

Sdleave ècïoëüçyeòcÿ äëÿ yêaçaíèÿ òoão, ÷òo òeêyùèé ïpoöecc çaêoí÷èë ìoäèôèêaöèþ coäepæèìoão paçäeëÿeìoão ceãìeíòa äaííûx.

Moäèôèêaöèè paçäeëÿeìoão ceãìeíòa äaííûx, cäeëaííûe ìeæäy âûçoâaìè sdenter è sdleave, âûïoëíÿþòcÿ êoppeêòío è ìoãyò áûòü y÷òeíû äpyãèìè ïpoöeccaìè. He peêoìeíäyeòcÿ íaäoëão ocòaâëÿòü ceãìeíò ïoä äeécòâèeì âûçoâa sdenter: êaê òoëüêo çaâepøeía òeêyùaÿ paáoòa c ceãìeíòoì, âûçûâaòü sdleave. B ÷acòíocòè, íe peêoìeíäyeòcÿ ìeæäy sdenter è sdleave âûïoëíÿòü cècòeìíûe âûçoâû.

Ecëè ceãìeíò áûë coçäaí áeç ôëaãa SD_UNLOCK, ìeæäy sdenter è sdleave çaïpeùeí cècòeìíûé âûçoâ fork.

Boçâpaùaeìoe çía÷eíèe


B cëy÷ae ycïeøíoão çaâepøeíèÿ âoçâpaùaeòcÿ çía÷eíèe 0. Èía÷e âoçâpaùaeòcÿ çía÷eíèe -1 è â errno çaíocèòcÿ êoä oøèáêè. Oøèáêa EINVAL oçía÷aeò, ÷òo ïpoöecc âûçâaë sdenter c ôëaãoì SD_WRITE, a ceãìeíò yæe ïpècoeäèíeí äpyãèì ïpoöeccoì c ôëaãoì SD_RDONLY. Oøèáêa ENAVAIL oçía÷aeò, ÷òo â sdenter yêaçaí ôëaã SD_NOWAIT, a paçäeëÿeìûé ceãìeíò íe câoáoäeí.

ÑÌ. ÒÀÊÆÅ


,

ÇAÌE×AÍÈß


Ýòè cpeäcòâa cïeöèôè÷íû äëÿ XENIX è ìoãyò oòcyòcòâoâaòü â äpyãèx peaëèçaöèÿx UNIX. Ïpoãpaììû, ècïoëüçyþùèe ýòè ôyíêöèè, äoëæíû êoìïoíoâaòücÿ c ôëaãoì -lx.



Ñîäåðæàíèå ðàçäåëà