include/parsec/pdp_aux.h#

Functions Documentation#

function pdp_make_session_dir#

char * pdp_make_session_dir (
    const char *root,
    const char *subdir,
    const char *slink,
    const PDPL_T *l,
    uid_t uid,
    gid_t gid,
    mode_t mode
)

function pdpl_session_dir#

Формирование имени каталога для сессии пользователя.

char * pdpl_session_dir (
    const char *root,
    const char *subdir,
    const PDPL_T *l
)

Parameters:

  • root указатель на строку, не NULL. Корневой каталог, в котором будут располагатся остальные каталоги. Может быть пустой строкой ““, в этом случае между между root и subdir будет добавлен ‘/’.

  • subdir указатель на строку, не NULL. Подкаталог, в котором будут располагатся остальные каталоги. Может быть пустой строкой ““, в этом случае между между subdir и текстовым представлением l будет добавлен ‘/’.

  • l указатель на метку сессии.

Returns:

строку, содержащую полное имя каталога, строка должна быть освобожденна вызовом free(). В случае ошибки возвращается NULL и выставляется errno.

function pdplugm_make_session_dir#

Cоздание каталога для текущей сессии пользователя

char * pdplugm_make_session_dir (
    const char *root,
    const char *subdir,
    const char *slink,
    const PDPL_T *l,
    uid_t uid,
    gid_t gid,
    mode_t mode
)

Parameters:

  • root имя корневого каталог, в котором будут располагатся остальные каталоги

  • subdir необязательный подкаталог (может быть NULL или ““). Наследует метку с корневого каталога

  • slink имя символической сылки на subdir (если subdir не указан, то dir)

  • l указатель на метку сессии, преобразуется в текстовый вид и создается подкаталог с таким именем, на который устанавливается данная метка

  • uid владелеца

  • gid группы

  • mode режим доступа

Returns:

строку, содержащую полное имя созданного каталога, строка должна быть освобожденна вызовом free(). В случае ошибки возвращается NULL и выставляется errno;

function pdplugm_mkdir#

Безопасное создание каталога

int pdplugm_mkdir (
    const char *dir,
    const PDPL_T *l,
    uid_t uid,
    gid_t gid,
    mode_t mode
)

Parameters:

  • dir имя создаваемого каталога

  • l метка

  • uid владелеца

  • gid группы

  • mode режим доступа

Returns:

0 в случае успеха, в случае ошибки возвращает -1 и выставляется errno

function pdpml_session_dir#

Формирование имени каталога для сессии пользователя. Выполняется с учетом только мандатной метки

char * pdpml_session_dir (
    const char *root,
    const char *subdir,
    const PDPML_T *ml
)

Parameters:

  • root указатель на строку, не NULL. Коневой каталог, в котором будут располагатся остальные каталоги. Может быть пустой строкой ““, в этом случае между между root и subdir будет добавлен ‘/’

  • subdir указатель на строку, не NULL, подкаталог, в котором будут располагатся остальные каталоги. Может быть пустой строкой ““, в этом случае между между subdir и текстовым представлением ml будет добавлен ‘/’

  • ml указатель на мандатную метку сессии.

Returns:

строку, содержащую полное имя каталога, строка должна быть освобожденна вызовом free(). В случае ошибки возвращается NULL и выставляется errno.

function session_dir#

char * session_dir (
    const char *root,
    const char *subdir,
    const PDPL_T *l
)