pspsdk-1.0+beta2
pspiofilemgr_stat.h
Go to the documentation of this file.
1 /*
2  * PSP Software Development Kit - http://www.pspdev.org
3  * -----------------------------------------------------------------------
4  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5  *
6  * pspiofilemgr_dirent.h - File attributes and directory entries.
7  *
8  * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org>
9  * Copyright (c) 2005 James Forshaw <tyranid@gmail.com>
10  * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca>
11  *
12  * $Id: pspiofilemgr_stat.h 1095 2005-09-27 21:02:16Z jim $
13  */
14 
15 /* Note: Some of the structures, types, and definitions in this file were
16  extrapolated from symbolic debugging information found in the Japanese
17  version of Puzzle Bobble. */
18 
19 #ifndef PSPIOFILEMGR_STAT_H
20 #define PSPIOFILEMGR_STAT_H
21 
22 #include <psptypes.h>
23 #include <pspkerneltypes.h>
24 
27 {
29  FIO_S_IFMT = 0xF000,
31  FIO_S_IFLNK = 0x4000,
33  FIO_S_IFDIR = 0x1000,
35  FIO_S_IFREG = 0x2000,
36 
38  FIO_S_ISUID = 0x0800,
40  FIO_S_ISGID = 0x0400,
42  FIO_S_ISVTX = 0x0200,
43 
45  FIO_S_IRWXU = 0x01C0,
47  FIO_S_IRUSR = 0x0100,
49  FIO_S_IWUSR = 0x0080,
51  FIO_S_IXUSR = 0x0040,
52 
54  FIO_S_IRWXG = 0x0038,
56  FIO_S_IRGRP = 0x0020,
58  FIO_S_IWGRP = 0x0010,
60  FIO_S_IXGRP = 0x0008,
61 
63  FIO_S_IRWXO = 0x0007,
65  FIO_S_IROTH = 0x0004,
67  FIO_S_IWOTH = 0x0002,
69  FIO_S_IXOTH = 0x0001,
70 };
71 
72 // File mode checking macros
73 #define FIO_S_ISLNK(m) (((m) & FIO_S_IFMT) == FIO_S_IFLNK)
74 #define FIO_S_ISREG(m) (((m) & FIO_S_IFMT) == FIO_S_IFREG)
75 #define FIO_S_ISDIR(m) (((m) & FIO_S_IFMT) == FIO_S_IFDIR)
76 
79 {
81  FIO_SO_IFMT = 0x0038, // Format mask
83  FIO_SO_IFLNK = 0x0008, // Symbolic link
85  FIO_SO_IFDIR = 0x0010, // Directory
87  FIO_SO_IFREG = 0x0020, // Regular file
88 
90  FIO_SO_IROTH = 0x0004, // read
92  FIO_SO_IWOTH = 0x0002, // write
94  FIO_SO_IXOTH = 0x0001, // execute
95 };
96 
97 // File mode checking macros
98 #define FIO_SO_ISLNK(m) (((m) & FIO_SO_IFMT) == FIO_SO_IFLNK)
99 #define FIO_SO_ISREG(m) (((m) & FIO_SO_IFMT) == FIO_SO_IFREG)
100 #define FIO_SO_ISDIR(m) (((m) & FIO_SO_IFMT) == FIO_SO_IFDIR)
101 
103 typedef struct SceIoStat {
105  unsigned int st_attr;
115  unsigned int st_private[6];
116 } SceIoStat;
117 
118 #endif /* PSPIOFILEMGR_STAT_H */