"> 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ì sdget(3). 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í.

ÑÌ. ÒÀÊÆÅ
sdget(3), sdgetv(3)

Ç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.