MentOS
0.8.0
The Mentoring Operating System
|
Define basic data types. More...
Go to the source code of this file.
Macros | |
#define | NULL ((void *)0) |
Define NULL. | |
#define | EOF (-1) |
Define End-Of-File. | |
#define | BUFSIZ 512 |
Define the size of a buffer. | |
#define | offsetof(type, member) ((size_t) & (((type *)0)->member)) |
#define | container_of(ptr, type, member) ((type *)((char *)(1 ? (ptr) : &((type *)0)->member) - offsetof(type, member))) |
Retrieve an enclosing structure from a pointer to a nested element. | |
#define | alignof(type) |
Returns the alignment, in bytes, of the specified type. More... | |
#define | count_of(x) ((sizeof(x) / sizeof((x)[0])) / ((size_t)(!(sizeof(x) % sizeof((x)[0]))))) |
Counts the number of elements of an array. | |
#define | swap(a, b) |
Swaps two values. More... | |
Typedefs | |
typedef long signed int | ptrdiff_t |
Is the signed integer type of the result of subtracting two pointers. | |
typedef unsigned char | byte_t |
Define the byte type. | |
typedef unsigned long | size_t |
Define the generic size type. | |
typedef long | ssize_t |
Define the generic signed size type. | |
typedef unsigned int | ino_t |
Define the type of an inode. | |
typedef unsigned int | dev_t |
Used for device IDs. | |
typedef int | uid_t |
The type of user-id. | |
typedef int | gid_t |
The type of group-id. | |
typedef long int | off_t |
The type of offset. | |
typedef unsigned int | mode_t |
The type of mode. | |
typedef unsigned int | pgprot_t |
This data-type is used to set protection bits of pages. | |
Define basic data types.
#define alignof | ( | type | ) |
#define offsetof | ( | type, | |
member | |||
) | ((size_t) & (((type *)0)->member)) |
It evaluates to the offset (in bytes) of a given member within a struct or union type, an expression of type size_t.
#define swap | ( | a, | |
b | |||
) |
Swaps two values.
do { ... } while (0) allows to place multistatement operations, for instance, inside the following if stantement: if (condition) swap(var1, var2) which otherwise would be wrong.