summaryrefslogtreecommitdiffstats
path: root/man3/offsetof.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/offsetof.3')
-rw-r--r--man3/offsetof.3110
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