#include "bfd.h"#include "bucomm.h"Include dependency graph for filemode.c:

Go to the source code of this file.
Defines | |
| #define | S_IRWXU 0700 |
| #define | S_IRUSR 0400 |
| #define | S_IWUSR 0200 |
| #define | S_IXUSR 0100 |
| #define | S_IRWXG 0070 |
| #define | S_IRGRP 0040 |
| #define | S_IWGRP 0020 |
| #define | S_IXGRP 0010 |
| #define | S_IRWXO 0007 |
| #define | S_IROTH 0004 |
| #define | S_IWOTH 0002 |
| #define | S_IXOTH 0001 |
| #define | S_ISDIR(i) (((i) & 0170000) == 040000) |
| #define | S_ISBLK(i) 0 |
| #define | S_ISCHR(i) 0 |
| #define | S_ISFIFO(i) 0 |
| #define | S_ISSOCK(i) 0 |
| #define | S_ISLNK(i) 0 |
Functions | |
| static char ftypelet | PARAMS ((unsigned long)) |
| static void setst | PARAMS ((unsigned long, char *)) |
| void | mode_string (unsigned long mode, char *str) |
| static char | ftypelet (unsigned long bits) |
| static void | setst (unsigned long bits, char *chars) |
| #define S_IRGRP 0040 |
Definition at line 94 of file filemode.c.
| #define S_IROTH 0004 |
Definition at line 107 of file filemode.c.
| #define S_IRUSR 0400 |
Definition at line 81 of file filemode.c.
| #define S_IRWXG 0070 |
Definition at line 91 of file filemode.c.
| #define S_IRWXO 0007 |
Definition at line 104 of file filemode.c.
| #define S_IRWXU 0700 |
Definition at line 78 of file filemode.c.
| #define S_ISBLK | ( | i | ) | 0 |
| #define S_ISCHR | ( | i | ) | 0 |
| #define S_ISDIR | ( | i | ) | (((i) & 0170000) == 040000) |
Definition at line 152 of file filemode.c.
| #define S_ISFIFO | ( | i | ) | 0 |
| #define S_ISLNK | ( | i | ) | 0 |
Definition at line 192 of file filemode.c.
Referenced by append_to_match(), ftypelet(), my_realpath(), os_file_get_status(), os_file_readdir_next_file(), os_file_status(), and stat_char().
| #define S_ISSOCK | ( | i | ) | 0 |
| #define S_IWGRP 0020 |
Definition at line 97 of file filemode.c.
| #define S_IWOTH 0002 |
Definition at line 110 of file filemode.c.
| #define S_IWUSR 0200 |
Definition at line 84 of file filemode.c.
| #define S_IXGRP 0010 |
Definition at line 100 of file filemode.c.
| #define S_IXOTH 0001 |
Definition at line 113 of file filemode.c.
| #define S_IXUSR 0100 |
Definition at line 87 of file filemode.c.
| static char ftypelet | ( | unsigned long | bits | ) | [static] |
Definition at line 197 of file filemode.c.
References S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, and S_ISSOCK.
Referenced by mode_string().
00199 { 00200 if (S_ISDIR (bits)) 00201 return 'd'; 00202 if (S_ISLNK (bits)) 00203 return 'l'; 00204 if (S_ISBLK (bits)) 00205 return 'b'; 00206 if (S_ISCHR (bits)) 00207 return 'c'; 00208 if (S_ISSOCK (bits)) 00209 return 's'; 00210 if (S_ISFIFO (bits)) 00211 return 'p'; 00212 00213 #ifdef S_IFMT 00214 #ifdef S_IFMPC 00215 if ((bits & S_IFMT) == S_IFMPC 00216 || (bits & S_IFMT) == S_IFMPB) 00217 return 'm'; 00218 #endif 00219 #ifdef S_IFNWK 00220 if ((bits & S_IFMT) == S_IFNWK) 00221 return 'n'; 00222 #endif 00223 #endif 00224 00225 return '-'; 00226 }
Here is the caller graph for this function:

| void mode_string | ( | unsigned long | mode, | |
| char * | str | |||
| ) |
Definition at line 120 of file filemode.c.
References ftypelet(), S_IRGRP, S_IROTH, S_IRUSR, S_IWGRP, S_IWOTH, S_IWUSR, S_IXGRP, S_IXOTH, S_IXUSR, and setst().
Referenced by print_arelt_descr().
00123 { 00124 str[0] = ftypelet ((unsigned long) mode); 00125 str[1] = (mode & S_IRUSR) != 0 ? 'r' : '-'; 00126 str[2] = (mode & S_IWUSR) != 0 ? 'w' : '-'; 00127 str[3] = (mode & S_IXUSR) != 0 ? 'x' : '-'; 00128 str[4] = (mode & S_IRGRP) != 0 ? 'r' : '-'; 00129 str[5] = (mode & S_IWGRP) != 0 ? 'w' : '-'; 00130 str[6] = (mode & S_IXGRP) != 0 ? 'x' : '-'; 00131 str[7] = (mode & S_IROTH) != 0 ? 'r' : '-'; 00132 str[8] = (mode & S_IWOTH) != 0 ? 'w' : '-'; 00133 str[9] = (mode & S_IXOTH) != 0 ? 'x' : '-'; 00134 setst ((unsigned long) mode, str); 00135 }
Here is the call graph for this function:

Here is the caller graph for this function:

| static void setst PARAMS | ( | (unsigned long, char *) | ) | [static] |
| static char ftypelet PARAMS | ( | (unsigned long) | ) | [static] |
| static void setst | ( | unsigned long | bits, | |
| char * | chars | |||
| ) | [static] |
Definition at line 232 of file filemode.c.
Referenced by mode_string().
00235 { 00236 #ifdef S_ISUID 00237 if (bits & S_ISUID) 00238 { 00239 if (chars[3] != 'x') 00240 /* Set-uid, but not executable by owner. */ 00241 chars[3] = 'S'; 00242 else 00243 chars[3] = 's'; 00244 } 00245 #endif 00246 #ifdef S_ISGID 00247 if (bits & S_ISGID) 00248 { 00249 if (chars[6] != 'x') 00250 /* Set-gid, but not executable by group. */ 00251 chars[6] = 'S'; 00252 else 00253 chars[6] = 's'; 00254 } 00255 #endif 00256 #ifdef S_ISVTX 00257 if (bits & S_ISVTX) 00258 { 00259 if (chars[9] != 'x') 00260 /* Sticky, but not executable by others. */ 00261 chars[9] = 'T'; 00262 else 00263 chars[9] = 't'; 00264 } 00265 #endif 00266 }
Here is the caller graph for this function:

1.4.7

