Server for Information Technologies óÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ
ãÅÎÔÒÏÍ éÎÆÏÒÍÁÃÉÏÎÎÙÈ ôÅÈÎÏÌÏÇÉÊ
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
óÅÒ×ÅÒ ÓÏÄÅÒÖÉÔ ÍÏÒÅ(!) ÁÎÁÌÉÔÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ CIT Forum CD-ROM

SDGET(3)
XENIX System V (21 ÉÀÎÑ 1987)

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

SD_RDONLY
ðpÉcoeÄÉÎÉÔØ ceÇÍeÎÔ ÔoÌØËo ÄÌÑ ÞÔeÎÉÑ.

SD_WRITE
ðpÉcoeÄÉÎÉÔØ ceÇÍeÎÔ ÄÌÑ ÞÔeÎÉÑ É ÚaÐÉcÉ.

SD_CREAT
EcÌÉ ceÇÍeÎÔ cyÝecÔ×yeÔ É Îe ÉcÐoÌØÚyeÔcÑ (ÎeaËÔÉ×eÎ), ÄeÊcÔ×Ée ÜË×É×aÌeÎÔÎo coÚÄaÎÉÀ ÐycÔoÇo ceÇÍeÎÔa. éÎaÞe ceÇÍeÎÔ coÚÄaeÔcÑ × cooÔ×eÔcÔ×ÉÉ c size É mode. úÎaÞeÎÉe mode ÚaÄaeÔ Ðpa×a ÄpyÇÉx ÐpoÃecco× Ðo ÞÔeÎÉÀ É ÚaÐÉcÉ ÜÔoÇo ceÇÍeÎÔa. äoÐycÔÉÍÙ ÆyÎËÃÉÉ, ÐpÉÍeÎÑeÍÙe Ë oÂÙÞÎÙÍ ÆaÊÌaÍ. ðpa×o ×ÙÐoÌÎeÎÉÑ ceÇÍeÎÔa ÌÉÛeÎo cÍÙcÌa. ðocÌe coÚÄaÎÉÑ ceÇÍeÎÔ ÉÎÉÃÉaÌÉÚÉpyeÔcÑ ÎyÌÑÍÉ.

SD_UNLOCK
HecËoÌØËo ÐpoÃecco× ÍoÇyÔ ÉÍeÔØ ÄocÔyÐ Ë ceÇÍeÎÔy ÍeÖÄy sdenter É sdleave.

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.
Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT