diff options
Diffstat (limited to 'man3/offsetof.3')
-rw-r--r-- | man3/offsetof.3 | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/man3/offsetof.3 b/man3/offsetof.3 deleted file mode 100644 index 3cf0301..0000000 --- a/man3/offsetof.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" Copyright (C) 2006 Justin Pryzby <pryzbyj@justinpryzby.com> -.\" and Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com> -.\" -.\" %%%LICENSE_START(PERMISSIVE_MISC) -.\" Permission is hereby granted, free of charge, to any person obtaining -.\" a copy of this software and associated documentation files (the -.\" "Software"), to deal in the Software without restriction, including -.\" without limitation the rights to use, copy, modify, merge, publish, -.\" distribute, sublicense, and/or sell copies of the Software, and to -.\" permit persons to whom the Software is furnished to do so, subject to -.\" the following conditions: -.\" -.\" The above copyright notice and this permission notice shall be -.\" included in all copies or substantial portions of the Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -.\" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -.\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -.\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -.\" %%%LICENSE_END -.\" -.\" References: -.\" /usr/lib/gcc/i486-linux-gnu/4.1.1/include/stddef.h -.\" glibc-doc -.TH offsetof 3 2023-10-31 "Linux man-pages 6.7" -.SH NAME -offsetof \- offset of a structure member -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <stddef.h> -.P -.BI "size_t offsetof(" type ", " member ); -.fi -.SH DESCRIPTION -The macro -.BR offsetof () -returns the offset of the field -.I member -from the start of the structure -.IR type . -.P -This macro is useful because the sizes of the fields that compose -a structure can vary across implementations, -and compilers may insert different numbers of padding -bytes between fields. -Consequently, an element's offset is not necessarily -given by the sum of the sizes of the previous elements. -.P -A compiler error will result if -.I member -is not aligned to a byte boundary -(i.e., it is a bit field). -.SH RETURN VALUE -.BR offsetof () -returns the offset of the given -.I member -within the given -.IR type , -in units of bytes. -.SH STANDARDS -C11, POSIX.1-2008. -.SH HISTORY -POSIX.1-2001, C89. -.SH EXAMPLES -On a Linux/i386 system, when compiled using the default -.BR gcc (1) -options, the program below produces the following output: -.P -.in +4n -.EX -.RB "$" " ./a.out" -offsets: i=0; c=4; d=8 a=16 -sizeof(struct s)=16 -.EE -.in -.SS Program source -\& -.\" SRC BEGIN (offsetof.c) -.EX -#include <stddef.h> -#include <stdio.h> -#include <stdlib.h> -\& -int -main(void) -{ - struct s { - int i; - char c; - double d; - char a[]; - }; -\& - /* Output is compiler dependent */ -\& - printf("offsets: i=%zu; c=%zu; d=%zu a=%zu\en", - offsetof(struct s, i), offsetof(struct s, c), - offsetof(struct s, d), offsetof(struct s, a)); - printf("sizeof(struct s)=%zu\en", sizeof(struct s)); -\& - exit(EXIT_SUCCESS); -} -.EE -.\" SRC END |