diff options
| author | David Schleef <ds@schleef.org> | 2001-05-22 14:32:43 +0000 | 
|---|---|---|
| committer | David Schleef <ds@schleef.org> | 2001-05-22 14:32:43 +0000 | 
| commit | 665ce29c84a830259683fdb58c76da7efc00f890 (patch) | |
| tree | 9d21847a0e1d0ac4e643aa1f30b4b7134bd78d6c /libc/sysdeps/linux/mips/bits/shm.h | |
| parent | 5a2fb0bbdd13fc87e55a048b18aba55e5a532009 (diff) | |
| download | uClibc-alpine-665ce29c84a830259683fdb58c76da7efc00f890.tar.bz2 uClibc-alpine-665ce29c84a830259683fdb58c76da7efc00f890.tar.xz | |
Copied bits/*.h from Debian MIPS libc6-dev 2.2.2-4 package.
Diffstat (limited to 'libc/sysdeps/linux/mips/bits/shm.h')
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/shm.h | 84 | 
1 files changed, 84 insertions, 0 deletions
| diff --git a/libc/sysdeps/linux/mips/bits/shm.h b/libc/sysdeps/linux/mips/bits/shm.h new file mode 100644 index 000000000..31c65a91a --- /dev/null +++ b/libc/sysdeps/linux/mips/bits/shm.h @@ -0,0 +1,84 @@ +/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. +   This file is part of the GNU C Library. + +   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 +   published by the Free Software Foundation; either version 2 of the +   License, or (at your option) any later version. + +   The GNU C Library is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +   Library General Public License for more details. + +   You should have received a copy of the GNU Library General Public +   License along with the GNU C Library; see the file COPYING.LIB.  If not, +   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +   Boston, MA 02111-1307, USA.  */ + +#ifndef _SYS_SHM_H +# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead." +#endif + +#include <sys/types.h> + +/* Permission flag for shmget.  */ +#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */ +#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */ + +/* Flags for `shmat'.  */ +#define SHM_RDONLY	010000		/* attach read-only else read-write */ +#define SHM_RND		020000		/* round attach address to SHMLBA */ +#define SHM_REMAP	040000		/* take-over region on attach */ + +/* Commands for `shmctl'.  */ +#define SHM_LOCK	11		/* lock segment (root only) */ +#define SHM_UNLOCK	12		/* unlock segment (root only) */ + + +/* 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() */ +    long int shm_cpid;			/* pid of creator */ +    long 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 *__unbounded __shm_pages;	/* array of ptrs to frames -> SHMMAX */ +    struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */ +  }; + +#ifdef __USE_MISC + +/* ipcs ctl commands */ +# 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 */ + +struct	shminfo +  { +    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; +  }; + +#endif /* __USE_MISC */ | 
