Update.
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / linux / bits / shm.h
index 6db01dd..c707059 100644 (file)
@@ -1,6 +1,5 @@
 /* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef _SYS_SHM_BUF_H
-
-#define _SYS_SHM_BUF_H 1
-#include <features.h>
+#ifndef _SYS_SHM_H
+# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
+#endif
 
 #include <sys/types.h>
 
 #define SHM_UNLOCK     12              /* unlock segment (root only) */
 
 
-__BEGIN_DECLS
-
 /* Data structure describing a set of semaphores.  */
 struct shmid_ds
-{
-  struct ipc_perm shm_perm;            /* operation permission struct */
-  int shm_segsz;                       /* size of segment in bytes */
-  __time_t shm_atime;                  /* time of last shmat() */
-  __time_t shm_dtime;                  /* time of last shmdt() */
-  __time_t shm_ctime;                  /* time of last change by shmctl() */
-  int shm_cpid;                                /* pid of creator */
-  int shm_lpid;                                /* pid of last shmop */
-  unsigned short int shm_nattch;       /* number of current attaches */
-  unsigned short int __shm_npages;     /* size of segment (pages) */
-  unsigned long int *__shm_pages;      /* array of ptrs to frames -> SHMMAX */
-  struct vm_area_struct *__attaches;   /* descriptors for attaches */
-};
+  {
+    struct ipc_perm shm_perm;          /* operation permission struct */
+    int shm_segsz;                     /* size of segment in bytes */
+    __time_t shm_atime;                        /* time of last shmat() */
+    __time_t shm_dtime;                        /* time of last shmdt() */
+    __time_t shm_ctime;                        /* time of last change by shmctl() */
+    __ipc_pid_t shm_cpid;              /* pid of creator */
+    __ipc_pid_t shm_lpid;              /* pid of last shmop */
+    unsigned short int shm_nattch;     /* number of current attaches */
+    unsigned short int __shm_npages;   /* size of segment (pages) */
+    unsigned long int *__shm_pages;    /* array of ptrs to frames -> SHMMAX */
+    struct vm_area_struct *__attaches; /* descriptors for attaches */
+  };
 
 #ifdef __USE_MISC
 
 /* ipcs ctl commands */
-#define SHM_STAT       13
-#define SHM_INFO       14
+# define SHM_STAT      13
+# define SHM_INFO      14
 
 /* shm_mode upper byte flags */
-#define        SHM_DEST        01000   /* segment will be destroyed on last detach */
-#define SHM_LOCKED      02000   /* segment will not be swapped */
+# define SHM_DEST      01000   /* segment will be destroyed on last detach */
+# define SHM_LOCKED    02000   /* segment will not be swapped */
 
 struct shminfo
-{
-  int shmmax;
-  int shmmin;
-  int shmmni;
-  int shmseg;
-  int shmall;
-};
+  {
+    int shmmax;
+    int shmmin;
+    int shmmni;
+    int shmseg;
+    int shmall;
+  };
 
 struct shm_info
-{
-  int   used_ids;
-  ulong shm_tot;       /* total allocated shm */
-  ulong shm_rss;       /* total resident shm */
-  ulong shm_swp;       /* total swapped shm */
-  ulong swap_attempts;
-  ulong swap_successes;
-};
+  {
+    int used_ids;
+    unsigned long int shm_tot; /* total allocated shm */
+    unsigned long int shm_rss; /* total resident shm */
+    unsigned long int shm_swp; /* total swapped shm */
+    unsigned long int swap_attempts;
+    unsigned long int swap_successes;
+  };
 
 #endif /* __USE_MISC */
-
-__END_DECLS
-
-#endif /* bits/shm_buf.h */