From 6990634f0688dc85bf5ee4c8867f1693ad0f69c0 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 3 Sep 2015 18:07:14 +0200 Subject: add some integer types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- include/bits/types.h | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ include/unistd.h | 10 ++--- 2 files changed, 117 insertions(+), 5 deletions(-) diff --git a/include/bits/types.h b/include/bits/types.h index 3d178b8..9bace73 100644 --- a/include/bits/types.h +++ b/include/bits/types.h @@ -382,3 +382,115 @@ typedef int locale_t; /* TODO not implemented */ # include #undef __ONLY_va_list + +/** + * Datatype for file permissions and file type. + */ +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +# define __DEFINED_mode_t +typedef unsigned int mode_t; +#endif + + +/** + * Datatype for process identifiers. + */ +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +# define __DEFINED_pid_t +typedef signed int pid_t; +#endif + + +/** + * Datatype for user identifiers. + */ +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +# define __DEFINED_uid_t +typedef unsigned int uid_t; +#endif + + +/** + * Datatype for group identifiers. + */ +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +# define __DEFINED_gid_t +typedef unsigned int gid_t; +#endif + + +/** + * Datatype for microseconds. + * (The name should be 'µseconds', but we are limited + * to ASCII and 'u' looks similar to 'µ'.) + */ +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +# define __DEFINED_useconds_t +typedef signed long useconds_t; +#endif + + +/** + * Datatype for file offsets. + */ +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +# define __DEFINED_off_t +typedef signed __INT64 off_t; +#endif + + +/** + * Datatype for inode identifiers, the number identifying + * a file on a filesystem. + * ('inode' is probably a contraction of 'index node'.) + */ +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +# define __DEFINED_ino_t +typedef unsigned __INT64 ino_t; +#endif + + +/** + * Datatype for device identifiers. + */ +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +# define __DEFINED_dev_t +typedef unsigned __INT64 dev_t; +#endif + + +/** + * Datatype for filesystem block counts. + */ +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +# define __DEFINED_fsblkcnt_t +typedef unsigned __INT64 fsblkcnt_t; +#endif + + +/** + * Datatype for filesystem file counts. + */ +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +# define __DEFINED_fsfilcnt_t +typedef unsigned __INT64 fsfilcnt_t; +#endif + + +/** + * Datatype for block sizes. + */ +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +# define __DEFINED_blksize_t +typedef signed long int blksize_t; +#endif + + +/** + * Datatype for block counts. + */ +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +# define __DEFINED_blkcnt_t +typedef signed __INT64 blkcnt_t; +#endif + diff --git a/include/unistd.h b/include/unistd.h index 45ec712..6fa36bb 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -24,13 +24,13 @@ #define __NEED_size_t #define __NEED_ssize_t -#define __NEED_uid_t /* TODO not implement */ -#define __NEED_gid_t /* TODO not implement */ -#define __NEED_off_t /* TODO not implement */ -#define __NEED_pid_t /* TODO not implement */ +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_off_t +#define __NEED_pid_t #define __NEED_ptrdiff_t #define __NEED_intptr_t -#define __NEED_useconds_t /* TODO not implement */ +#define __NEED_useconds_t #include -- cgit v1.2.3-70-g09d2