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

ÈÌß
access - oïpeäeëÿeò âoçìoæíocòü äocòyïa ê ôaéëy

ÑÈÍÒÀÊÑÈÑ


	int access (path, amode)

	char *path;

	int amode;

ÎÏÈÑÀÍÈÅ
path yêaçûâaeò èìÿ ôaéëa. access ïpoâepÿeò âoçìoæíocòü äocòyïa ê ôaéëy â cooòâeòcòâèè c áèòoâûì øaáëoíoì, çaäaííûì â amode, ècïoëüçyÿ peaëüíûé ïoëüçoâaòeëücêèé ID ïpoöecca âìecòo ýôôeêòèâíoão ïoëüçoâaòeëücêoão ID è peaëüíûé ãpyïïoâoé ID ïpoöecca âìecòo ýôôeêòèâíoão ãpyïïoâoão ID. Áèòoâûé øaáëoí â amode còpoèòcÿ ïyòeì cëoæeíèÿ cëeäyþùèx çía÷eíèé:
04 Ïpoâepêa âoçìoæíocòè ÷òeíèÿ.
02 Ïpoâepêa âoçìoæíocòè çaïècè.
01 Ïpoâepêa âoçìoæíocòè âûïoëíeíèÿ (ïoècêa).
00 Ïpoâepêa cyùecòâoâaíèÿ ôaéëa.

Ècêoìûé äocòyï ê ôaéëy çaïpeùeí, ecëè âûïoëíÿeòcÿ xoòÿ áû oäío èç cëeäyþùèx ycëoâèé:
[ENOTDIR] Koìïoíeíò ïpeôèêca èìeíè ôaéëa íe ÿâëÿeòcÿ êaòaëoãoì.
[ENOENT] ×òeíèe, çaïècü èëè âûïoëíeíèe (ïoècê) çaïpoøeíû äëÿ ïycòoão èìeíè.
[ENOENT] Óêaçaííûé ôaéë íe cyùecòâyeò.
[EACCES] Heò paçpeøeíèÿ ía ïoècê â êaêoì-ëèáo êaòaëoãe èç ïpeôèêca èìeíè ôaéëa.
[EROFS] Ïpoâepêa âoçìoæíocòè çaïècè äëÿ ôaéëa èç ôaéëoâoé cècòeìû, ïpeäíaçía÷eííoé òoëüêo äëÿ ÷òeíèÿ.
[ETXTBSY] Ïpoâepêa âoçìoæíocòè çaïècè â ôaéë, êoòopûé ÿâëÿeòcÿ ÷ècòoé ïpoöeäypoé (c paçäeëÿeìûì ceãìeíòoì èícòpyêöèé) è â äaííûé ìoìeíò âûïoëíÿeòcÿ.
[EACCES] Áèòû paçpeøeíèÿ äocòyïa â êoäe çaùèòû ôaéëa çaïpeùaþò ècêoìûé äocòyï.
[EFAULT] Aäpec, çaäaííûé path âûxoäèò ça ïpeäeëû aäpecíoão ïpocòpaícòâa ïpoöecca.

Ecëè ïpoöecc ÿâëÿeòcÿ âëaäeëüöeì ôaéëa, access ïpoâepÿeò áèòû ïpaâ âëaäeëüöa â êoäe çaùèòû ôaéëa. Äëÿ ÷ëeíoâ ãpyïïû ïpoâepÿþòcÿ áèòû ïpaâ ãpyïïû â êoäe çaùèòû. Äëÿ ocòaëüíûx ïpoâepÿþòcÿ áèòû ïpaâ ïpo÷èx ïpoöeccoâ â êoäe çaùèòû ôaéëa.

Boçâpaùaeìoe çía÷eíèe
Ecëè çaïpoøeííûé äocòyï paçpeø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øèáêè.

ÑÌ. ÒÀÊÆÅ
chmod(3), stat(3)

ÇÀÌÅ×ÀÍÈß
Ïpèâèëeãèpoâaííûé ïoëüçoâaòeëü (íaïpèìep c èìeíeì root) ìoæeò èìeòü ëþáoé äocòyï ê ôaéëy íeçaâècèìo oò êoäa çaùèòû ôaéëa.