+.Sh LEGACY SYNOPSIS
+.Fd #include <sys/types.h>
+.Fd #include <sys/ipc.h>
+.Fd #include <sys/shm.h>
+.Pp
+All of these include files are necessary.
+.Sh LEGACY DESCRIPTION
+The
+.Bf -literal
+ipc_perm
+.Ef
+structure used inside the
+.Bf -literal
+shmid_ds
+.Ef
+structure, as defined in
+.Aq Pa sys/ipc.h ,
+looks like this:
+.Bd -literal
+struct ipc_perm {
+ __uint16_t cuid; /* Creator's user id */
+ __uint16_t cgid; /* Creator's group id */
+ __uint16_t uid; /* Owner's user id */
+ __uint16_t gid; /* Owner's group id */
+ mode_t mode; /* r/w permission (see chmod(2)) */
+ __uint16_t seq; /* Reserved for internal use */
+ key_t key; /* Reserved for internal use */
+};
+.Ed
+.Pp
+This structure is maintained for binary backward compatibility
+with previous versions of the interface.
+New code should not use this interface,
+because ID values may be truncated.
+.Pp
+Specifically,
+LEGACY mode limits the allowable uid/gid ranges to 0-32767.
+If the user has a UID that is out of this range (e.g., "nobody"),
+software using the LEGACY API will not behave as expected.