⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stat.h

📁 微软的基于HMM的人脸识别原代码, 非常经典的说
💻 H
字号:
#ifndef SYSSTATH_
#define SYSSTATH_

#define _need_time_t
#include "sys/stdtypes.h"
#undef _need_time_t

typedef unsigned short __site_t;
typedef unsigned short __cnode_t;
typedef long key_t;

struct stat
   {
        dev_t   st_dev;
        ino_t   st_ino;
        mode_t  st_mode;
        nlink_t st_nlink;
        unsigned short st_reserved1;
        unsigned short st_reserved2;
        dev_t   st_rdev;
        off_t   st_size;
        time_t  st_atime;
        int     st_spare1;
        time_t  st_mtime;
        int     st_spare2;
        time_t  st_ctime;
        int     st_spare3;
        long    st_blksize;
        long    st_blocks;
        /* unsigned int    st_pad:30;
           unsigned int    st_acl:1;
           unsigned int    st_remote:1; 
        */
        unsigned int    st_pad_acl_remote; 
        dev_t   st_netdev;

        ino_t   st_netino;
        __cnode_t       st_cnode;
        __cnode_t       st_rcnode;

        __site_t        st_netsite;
        short   st_fstype;

        dev_t   st_realdev;

        unsigned short  st_basemode;
        unsigned short  st_spareshort;

        uid_t   st_uid;
        gid_t   st_gid;


        long    st_spare4[3 ];
   };


#ifdef NEVER
#define S_IREAD         S_IRUSR /* read permission, owner */
#define S_IWRITE        S_IWUSR /* write permission, owner */
#define S_IEXEC         S_IXUSR /* execute/search permission, owner */

#define S_IRGRP 00040           /* read permission: group */
#define S_IROTH 00004           /* read permission: other */
#define S_IRUSR 00400           /* read permission: owner */
#define S_IRWXG 00070           /* read, write, execute: group */
#define S_IRWXO 00007           /* read, write, execute: other */
#define S_IRWXU 00700           /* read, write, execute: owner */
#define S_ISBLK(mode)   ((mode&0xF000) == 0x6000)
#define S_ISCHR(mode)   ((mode&0xF000) == 0x2000)
#define S_ISDIR(mode)   ((mode&0xF000) == 0x4000)
#define S_ISFIFO(mode)  ((mode&0xF000) == 0x1000)
#define S_ISGID         0x400   /* set group id on execution */
#define S_ISREG(mode)   ((mode&0xF000) == 0x8000)
#define S_ISUID         0x800   /* set user id on execution */
#define S_IWGRP 00020           /* write permission: group */
#define S_IWOTH 00002           /* write permission: other */
#define S_IWUSR 00200           /* write permission: owner */
#define S_IXGRP 00010           /* execute permission: group */
#define S_IXOTH 00001           /* execute permission: other */
#define S_IXUSR 00100           /* execute permission: owner */
#endif 

#    define S_ISUID 0004000     /* set user ID on execution */
#    define S_ISGID 0002000     /* set group ID on execution */

#    define S_IRWXU 0000700     /* read, write, execute permission (owner) */
#    define S_IRUSR 0000400     /* read permission (owner) */
#    define S_IWUSR 0000200     /* write permission (owner) */
#    define S_IXUSR 0000100     /* execute permission (owner) */

#    define S_IRWXG 0000070     /* read, write, execute permission (group) */
#    define S_IRGRP 0000040     /* read permission (group) */
#    define S_IWGRP 0000020     /* write permission (group) */
#    define S_IXGRP 0000010     /* execute permission (group) */

#    define S_IRWXO 0000007     /* read, write, execute permission (other) */
#    define S_IROTH 0000004     /* read permission (other) */
#    define S_IWOTH 0000002     /* write permission (other) */
#    define S_IXOTH 0000001     /* execute permission (other) */

#  define _S_IFMT   0170000     /* type of file */
#  define _S_IFREG  0100000     /* regular */
#  define _S_IFBLK  0060000     /* block special */
#  define _S_IFCHR  0020000     /* character special */
#  define _S_IFDIR  0040000     /* directory */
#  define _S_IFIFO  0010000     /* pipe or FIFO */


#  define S_ISDIR(_M)  ((_M & _S_IFMT)==_S_IFDIR) /* test for directory */
#  define S_ISCHR(_M)  ((_M & _S_IFMT)==_S_IFCHR) /* test for char special */
#  define S_ISBLK(_M)  ((_M & _S_IFMT)==_S_IFBLK) /* test for block special */
#  define S_ISREG(_M)  ((_M & _S_IFMT)==_S_IFREG) /* test for regular file */
#  define S_ISFIFO(_M) ((_M & _S_IFMT)==_S_IFIFO) /* test for pipe or FIFO */
#

int chmod(const char * path, mode_t mode);   
int fstat(int filedes, struct stat *buf);
int mkdir(const char *path, mode_t mode);
int mkfifo(const char * path, mode_t mode);
int stat(const char *file_name, struct stat *buf);
mode_t umask(mode_t cmask);

/********

#define S_IFBLK  0060000
#define S_IFCHR  0020000
#define S_IFDIR  0040000
#define S_IFIFO  0010000
#define S_IFLNK  0120000
#define S_IFREG  0100000
#define S_IFSOCK 0140000
#define _S_IFMT  0170000

#define S_ISLNK(m)      (((m) & S_IFMT) == S_IFLNK)
#define S_ISVTX  0001000
#define S_ISSOCK(m)     (((m) & S_IFMT) == S_IFSOCK)

**********/



#endif







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -