|
éíñ
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×:
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.
|