summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/offsetof.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 15:32:58 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 15:32:58 -0400
commit5cb84ec742fd33f78c8022863fadaa8d0d93e176 (patch)
tree1a81ca3665e6153923e40db7b0d988f8573ab59c /static/netbsd/man3/offsetof.3
parenta59214f344567c037d5776879bcfc5fcc1d4d5f6 (diff)
feat: Added NetBSD man pages
Diffstat (limited to 'static/netbsd/man3/offsetof.3')
-rw-r--r--static/netbsd/man3/offsetof.372
1 files changed, 72 insertions, 0 deletions
diff --git a/static/netbsd/man3/offsetof.3 b/static/netbsd/man3/offsetof.3
new file mode 100644
index 00000000..7b6fb29a
--- /dev/null
+++ b/static/netbsd/man3/offsetof.3
@@ -0,0 +1,72 @@
+.\" $NetBSD: offsetof.3,v 1.5 2011/04/14 06:56:28 wiz Exp $
+.\"
+.\" $OpenBSD: offsetof.3,v 1.2 2010/02/18 18:30:19 jmc Exp $
+.\"
+.\" Copyright (c) 2010 Thomas Pfaff <tpfaff@tp76.info>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\"
+.Dd April 1, 2011
+.Dt OFFSETOF 3
+.Os
+.Sh NAME
+.Nm offsetof
+.Nd offset of a structure member
+.Sh SYNOPSIS
+.In stddef.h
+.Ft size_t
+.Fn offsetof "type" "member"
+.Sh DESCRIPTION
+The
+.Fn offsetof
+macro expands to an integer constant expression of type
+.Ft size_t
+and yields the offset,
+in bytes, of the field
+.Ar member
+from the start of the structure
+.Ar type .
+.Pp
+A compiler error will result if
+.Ar member
+is not aligned to a byte boundary (i.e. it is a bit-field).
+.Sh EXAMPLES
+Regardless of the architecture and the
+.Tn ABI ,
+the following example prints the value zero for the variable
+.Va x .
+.Bd -literal -offset indent
+struct example {
+ double x;
+ int y;
+ char z;
+};
+
+size_t x, y, z;
+
+x = offsetof(struct example, x);
+y = offsetof(struct example, y);
+z = offsetof(struct example, z);
+
+(void)printf("%zu %zu %zu\en", x, y, z);
+.Ed
+.Sh SEE ALSO
+.Xr __alignof__ 3 ,
+.Xr stddef 3 ,
+.Xr typeof 3
+.Sh STANDARDS
+The
+.Fn offsetof
+macro conforms to
+.St -ansiC .