Apache中的文件与目录(1)[2]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

综合上面的内容,APR定义了枚举类型apr_filetype_e来描述所有的Unix文件类型。
typedef enum {
    APR_NOFILE = 0,     /**< no file type determined */
    APR_REG,            /**< a regular file */
    APR_DIR,            /**< a directory */
    APR_CHR,            /**< a character device */
    APR_BLK,            /**< a block device */
    APR_PIPE,           /**< a FIFO / pipe */
    APR_LNK,            /**< a symbolic link */
    APR_SOCK,           /**< a [unix domain] socket */
    APR_UNKFILE = 127   /**< a file of some other unknown type */
} apr_filetype_e;
为了实现APR定义和UNIX定义的转换,APR中通过函数filetype_from_mode实现从系统定义到APR定义的转换。该函数定义在filestat.c中:
static apr_filetype_e filetype_from_mode(mode_t mode)
{
    apr_filetype_e type;
    switch (mode & S_IFMT) {
    case S_IFREG:
        type = APR_REG; break;
    case S_IFDIR:
        type = APR_DIR; break;
    ……
    }
}
4.2.2文件访问权限
UNIX系统中,每一个文件都对应三组不同的访问权限,即用户存取权限、组用户存取权限和其余用户存取权限。在UNIX中,通常用S_IXXXX常量来描述这些访问权限。APR中则使用APR_FPROT_XXXX来进行替代,对应的关系如下表所示:
权限标志
含义
标准库值
APR_FPROT_USETID
允许设置用户号
0x8000
S_ISUID
APR_FPROT_UREAD
允许用户读操作
0x0400
S_IRUSR

本文关键:Apache中的文件与目录(1)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top