|
éíñ
sdget, sdfree - ÐpÉcoeÄÉÎÑeÔ É oÔcoeÄÉÎÑeÔ paÚÄeÌÑeÍÙÊ
ceÇÍeÎÔ ÄaÎÎÙx
óéîôáëóéó
#include <sys/sd.h> char *sdget (path, flags, size[, mode]) char *path; int flags, mode; long size; int sdfree (addr) char *addr;
ïðéóáîéå
Sdget ÐpÉcoeÄÉÎÑeÔ paÚÄeÌÑeÍÙÊ ceÇÍeÎÔ ÄaÎÎÙx Ë ÐpocÔpaÎcÔ×y
ÄaÎÎÙx ÔeËyÝeÇo ÐpoÃecca. CeÇÍeÎÔ ÚaÄaeÔcÑ ÉÍeÎeÍ path.
BÙÐoÌÎÑeÍÙe ÄeÊcÔ×ÉÑ oÐpeÄeÌÑÀÔcÑ apÇyÍeÎÔoÍ flags, ËoÔopÙÊ
cÔpoÉÔcÑ ÌoÇÉÞecËÉÍ cÌoÖeÎÉeÍ cÌeÄyÀÝÉx ÆÌaÇo×:
Sdfree oÔcoeÄÉÎÑeÔ paÚÄeÌÑeÍÙÊ ceÇÍeÎÔ ÄaÎÎÙx oÔ ÔeËyÝeÇo ÐpoÃecca. CeÇÍeÎÔ ÚaÄaeÔcÑ aÄpecoÍ ÐpÉcoeÄÉÎeÎÉÑ addr. EcÌÉ ÔeËyÝÉÊ ÐpoÃecc cÄeÌaÌ paÎee ×ÙÚo× sdenter, Îo Îe cÄeÌaÌ sdleave, ÐepeÄ oÔcoeÄÉÎeÎÉeÍ ceÇÍeÎÔa a×ÔoÍaÔÉÞecËÉ ×ÙÐoÌÎÑeÔcÑ sdleave.
KoÇÄa Îe ocÔaeÔcÑ ÂoÌØÛe ÐpoÃecco×, ÐpÉcoeÄÉÎÉ×ÛÉx ÄaÎÎÙÊ ceÇÍeÎÔ, coÄepÖÉÍoe ceÇÍeÎÔa ÐepecÔaeÔ cyÝecÔ×o×aÔØ É ÎÉ oÄÉÎ ÐpoÃecc Îe ÍoÖeÔ ÐpÉcoeÄÉÎÉÔØ ceÇÍeÎÔ ÂeÚ coÚÄaÎÉÑ eÇo ÐocpeÄcÔ×oÍ sdget c ÆÌaÇoÍ SD_CREAT. B errno ÚaÎocÉÔcÑ ËoÄ oÛÉÂËÉ EEXIST, ecÌÉ ÐpoÃecc ÐÙÔaeÔcÑ coÚÄaÔØ paÚÄeÌÑeÍÙÊ ceÇÍeÎÔ ÄaÎÎÙx, ËoÔopÙÊ yÖe cyÝecÔ×yeÔ É ÉcÐoÌØÚyeÔcÑ. B errno ÚaÎocÉÔcÑ ËoÄ oÛÉÂËÉ ENOTNAM, ecÌÉ ÐpoÃecc ÐpÉÍeÎÑeÔ sdget Ë ÆaÊÌy, ËoÔopÙÊ cyÝecÔ×yeÔ, Îo Îe ÉÍeeÔ ÔÉÐ paÚÄeÌÑeÍÙx ÄaÎÎÙx.
úAíEþAîéñ
écÐoÌØÚo×aÎÉe ÆÌaÇa SD_UNLOCK ÉÍeeÔ cÍÙcÌ × cÉcÔeÍe c
cooÔ×eÔcÔ×yÀÝeÊ aÐÐapaÔÎoÊ ÐoÄÄepÖËoÊ.
B cÌyÞae 286 ÐpoÃeccopa sdget É ÄpyÇÉe oÐepaÃÉÉ c paÚÄeÌÑeÍÙÍÉ ceÇÍeÎÔaÍÉ ÄaÎÎÙx cÌeÄyeÔ ÐpÉÍeÎÑÔØ ÔoÌØËo ÄÌÑ ÂoÌØÛoÊ ÍoÄeÌÉ ÐaÍÑÔÉ. ðpoÇpoaÍÍÙ c ÍaÌoÊ É cpeÄÎeÊ ÍoÄeÌÑÍÉ, ÐÙÔaÀÝÉecÑ ÉcÐoÌØÚo×aÔØ paÚÄeÌÑeÍÙe ceÇÍeÎÔÙ ÄaÎÎÙx, ÎaÔaÌËÉ×aÀÔcÑ Îa Îex×aÔËy ÐaÍÑÔÉ. AÐÐapaÔypa 286 ÐpoÃeccopa Îe ÐoÚ×oÌÑeÔ × cÌyÞae ÍaÌoÊ ÍoÄeÌÉ peaÌÉÚo×aÔØ paÚÄeÌÑeÍÙe ceÇÍeÎÔÙ ÄaÎÎÙx, ÐpeÄÎaÚÎaÞeÎÎÙe ÔoÌØËo ÄÌÑ ÞÔeÎÉÑ. OÄÎaËo, ÔaËÉe ceÇÍeÎÔÙ peaÌÉÚyÀÔcÑ × ÂoÌØÛoÊ ÍoÄeÌÉ.
B cÌyÞae 386 ÐpoÃeccopa aÄpecÎoe ÐpocÔpaÎcÔ×o 32-ÂÉÔo×oe É paÚÄeÌÑeÍÙe ceÇÍeÎÔÙ ÄaÎÎÙx ÍoÇyÔ ÉcÐoÌØÚo×aÔØcÑ ÂeÚ oÇpaÎÉÞeÎÉÊ, c×oÊcÔ×eÎÎÙx 286 ÐpoÃeccopy.
sdget a×ÔoÍaÔÉÞecËÉ y×eÌÉÞÉ×aeÔ ÇpaÎÉÃy ceÇÍeÎÔa ÄaÎÎÙx, ycÔaÎa×ÌÉ×aÑ ee cpaÚy ÐocÌe paÚÄeÌÑeÍoÇo ceÇÍeÎÔa ÄaÎÎÙx. üÔo ×oÚÄeÊcÔ×yeÔ Îa ÐocÌeÄyÀÝÉe ×ÙÚo×Ù sbrk É brk, ËoÔopÙe ÐÙÔaÀÔcÑ ×occÔaÎo×ÉÔØ ÐpeÖÎÀÀ ÇpaÎÉÃy. B ÞacÔÎocÔÉ, ÐoÐÙÔËa ×occÔaÎo×ÉÔØ ÇpaÎÉÃy, ËoÔopaÑ ÂÙÌa Äo ×ÙÚo×a sdget, ÐpÉ×oÄÉÔ Ë oÛÉÂËe.
üÔÉ 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.
BoÚ×paÝaeÍoe ÚÎaÞeÎÉe
B cÌyÞae ycÐeÛÎoÇo Úa×epÛeÎÉÑ ×oÚ×paÝaeÔcÑ aÄpec
ÐpÉcoeÄÉÎeÎÎoÇo ceÇÍeÎÔa. éÎ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 ÐÙÔaeÔcÑ ÐpÉcoeÄÉÎÉÔØ yÖe ÐpÉcoeÄÉÎeÎÎÙÊ ceÇÍeÎÔ.
OÛÉÂËa EEXIST oÚÎaÞaeÔ, ÞÔo ÐpoÃecc ÐÙÔaeÔcÑ coÚÄaÔØ
ceÇÍeÎÔ, ËoÔopÙÊ yÖe cyÝecÔ×yeÔ É ÉcÐoÌØÚyeÔcÑ. OÛÉÂËa
ENOTNAM oÚÎaÞaeÔ, ÞÔo ÐpoÃecc ÐpÉÍeÎÑeÔ sdget Ë ÆaÊÌy,
ËoÔopÙÊ cyÝecÔ×yeÔ, Îo Îe ÉÍeeÔ ÔÉÐ paÚÄeÌÑeÍÙx ÄaÎÎÙx.
ApÇyÍeÎÔ mode ÄoÌÖeÎ ÐpÉcyÔcÔ×o×aÔØ × Ðep×oÍ ×ÙÚo×e sdget.
óí. ôáëöå
sdenter(3), sdgetv(3), sbrk(2)
úAíEþAîéñ
TÉÐ apÇyÍeÎÔa size ÂÙÌ unsigned × ×epcÉÉ 3.0 XENIX É cÔaÌ
long × XENIX System V. XoÔÑ ÉcÐoÌØÚo×aÎÉe long size ÔpeÂyeÔ
ÍoÄÉÆÉËaÃÉÉ ÉcxoÄÎoÇo ÔeËcÔa ÐpÉ ËoÍÐÉÌÑÃÉÉ c ÂÉÂÉÌÉoÔeËaÍÉ
System V, ÔÉÐ unsigned ÂyÄeÔ ËoppeËÔÎo ÉÎÔepÐpeÔÉpo×aÔØcÑ
ÑÄpoÍ cÉcÔeÍÙ × ÐpoÇpaÍÍax, cËoÍÐÉÌÉpo×aÎÎÙx c ÂÉÂÌÉoÔeËaÍÉ
×epcÉÉ 3.0.
|