1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/cstdlib/LINCSYS/STAT.H Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,133 @@
1.4 +/*
1.5 +* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +
1.23 +/**
1.24 + @file
1.25 + @publishedAll
1.26 + @released
1.27 +*/
1.28 +
1.29 +#ifndef _SYS_STAT_H
1.30 +#define _SYS_STAT_H
1.31 +
1.32 +#ifdef __cplusplus
1.33 +extern "C" {
1.34 +#endif
1.35 +
1.36 +#include <_ansi.h>
1.37 +#include <time.h>
1.38 +#include <sys/types.h>
1.39 +
1.40 +struct stat
1.41 +{
1.42 + dev_t st_dev;
1.43 + ino_t st_ino;
1.44 + mode_t st_mode;
1.45 + short st_nlink;
1.46 + uid_t st_uid;
1.47 + gid_t st_gid;
1.48 + dev_t st_rdev;
1.49 + off_t st_size;
1.50 + /* SysV/sco doesn't have the rest... */
1.51 +#ifdef __svr4__
1.52 + time_t st_atime;
1.53 + time_t st_mtime;
1.54 + time_t st_ctime;
1.55 +#else
1.56 + time_t st_atime;
1.57 + int st_spare1;
1.58 + time_t st_mtime;
1.59 + int st_spare2;
1.60 + time_t st_ctime;
1.61 + int st_spare3;
1.62 + long st_blksize;
1.63 + long st_blocks;
1.64 + long st_spare4[2];
1.65 +#endif
1.66 +};
1.67 +
1.68 +#define _IFMT 0170000 /* type of file */
1.69 +#define _IFDIR 0040000 /* directory */
1.70 +#define _IFCHR 0020000 /* character special */
1.71 +#define _IFBLK 0060000 /* block special */
1.72 +#define _IFREG 0100000 /* regular */
1.73 +#define _IFLNK 0120000 /* symbolic link */
1.74 +#define _IFSOCK 0140000 /* socket */
1.75 +#define _IFIFO 0010000 /* fifo */
1.76 +
1.77 +#define S_BLKSIZE 1024 /* size of a block */
1.78 +
1.79 +#define S_ISUID 0004000 /* set user id on execution */
1.80 +#define S_ISGID 0002000 /* set group id on execution */
1.81 +#ifndef _POSIX_SOURCE
1.82 +#define S_ISVTX 0001000 /* save swapped text even after use */
1.83 +#define S_IREAD 0000400 /* read permission, owner */
1.84 +#define S_IWRITE 0000200 /* write permission, owner */
1.85 +#define S_IEXEC 0000100 /* execute/search permission, owner */
1.86 +
1.87 +#define S_ENFMT 0002000 /* enforcement-mode locking */
1.88 +
1.89 +#define S_IFMT _IFMT
1.90 +#define S_IFDIR _IFDIR
1.91 +#define S_IFCHR _IFCHR
1.92 +#define S_IFBLK _IFBLK
1.93 +#define S_IFREG _IFREG
1.94 +#define S_IFLNK _IFLNK
1.95 +#define S_IFSOCK _IFSOCK
1.96 +#define S_IFIFO _IFIFO
1.97 +#endif /* !_POSIX_SOURCE */
1.98 +
1.99 +#define S_IRWXU 0000700 /* rwx, owner */
1.100 +#define S_IRUSR 0000400 /* read permission, owner */
1.101 +#define S_IWUSR 0000200 /* write permission, owner */
1.102 +#define S_IXUSR 0000100 /* execute/search permission, owner */
1.103 +#define S_IRWXG 0000070 /* rwx, group */
1.104 +#define S_IRGRP 0000040 /* read permission, group */
1.105 +#define S_IWGRP 0000020 /* write permission, grougroup */
1.106 +#define S_IXGRP 0000010 /* execute/search permission, group */
1.107 +#define S_IRWXO 0000007 /* rwx, other */
1.108 +#define S_IROTH 0000004 /* read permission, other */
1.109 +#define S_IWOTH 0000002 /* write permission, other */
1.110 +#define S_IXOTH 0000001 /* execute/search permission, other */
1.111 +
1.112 +#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK)
1.113 +#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR)
1.114 +#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
1.115 +#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO)
1.116 +#define S_ISREG(m) (((m)&_IFMT) == _IFREG)
1.117 +#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK)
1.118 +#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK)
1.119 +
1.120 +IMPORT_C int chmod ( const char *_path, mode_t _mode );
1.121 +IMPORT_C int wchmod ( const wchar_t *_path, mode_t _mode );
1.122 +IMPORT_C int fstat ( int _fd, struct stat *_sbuf );
1.123 +IMPORT_C int mkdir ( const char *_path, mode_t _mode );
1.124 +IMPORT_C int wmkdir ( const wchar_t *_path, mode_t _mode );
1.125 +IMPORT_C int stat ( const char *_path, struct stat *_sbuf );
1.126 +IMPORT_C int wstat ( const wchar_t *_path, struct stat *_sbuf );
1.127 +IMPORT_C char* realpath (const char *_path, char *resolved);
1.128 +IMPORT_C wchar_t* wrealpath (const wchar_t * _path, wchar_t * resolved);
1.129 +
1.130 +int mkfifo ( char *_path, mode_t _mode );
1.131 +mode_t umask ( mode_t _mask );
1.132 +
1.133 +#ifdef __cplusplus
1.134 +}
1.135 +#endif
1.136 +#endif /* _SYS_STAT_H */