📄 malloc.h
字号:
/* $OpenBSD: malloc.h,v 1.24 1999/08/09 03:47:56 fgsch Exp $ *//* $NetBSD: malloc.h,v 1.39 1998/07/12 19:52:01 augustss Exp $ *//* * Copyright (c) 1987, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)malloc.h 8.5 (Berkeley) 5/3/95 */#ifndef _SYS_MALLOC_H_#define _SYS_MALLOC_H_/* * flags to malloc */#define M_WAITOK 0x0000#define M_NOWAIT 0x0001/* * Types of memory to be allocated */#define M_FREE 0 /* should be on free list */#define M_MBUF 1 /* mbuf */#define M_DEVBUF 2 /* device driver memory */#define M_SOCKET 3 /* socket structure */#define M_PCB 4 /* protocol control block */#define M_RTABLE 5 /* routing tables */#define M_HTABLE 6 /* IMP host tables */#define M_FTABLE 7 /* fragment reassembly header */#define M_ZOMBIE 8 /* zombie proc status */#define M_IFADDR 9 /* interface address */#define M_SOOPTS 10 /* socket options */#define M_SONAME 11 /* socket name */#define M_NAMEI 12 /* namei path name buffer */#define M_GPROF 13 /* kernel profiling buffer */#define M_IOCTLOPS 14 /* ioctl data buffer */#define M_MAPMEM 15 /* mapped memory descriptors */#define M_CRED 16 /* credentials */#define M_PGRP 17 /* process group header */#define M_SESSION 18 /* session header */#define M_IOV 19 /* large iov's */#define M_MOUNT 20 /* vfs mount struct */#define M_FHANDLE 21 /* network file handle */#define M_NFSREQ 22 /* NFS request header */#define M_NFSMNT 23 /* NFS mount structure */#define M_NFSNODE 24 /* NFS vnode private part */#define M_VNODE 25 /* Dynamically allocated vnodes */#define M_CACHE 26 /* Dynamically allocated cache entries */#define M_DQUOT 27 /* UFS quota entries */#define M_UFSMNT 28 /* UFS mount structure */#define M_SHM 29 /* SVID compatible shared memory segments */#define M_VMMAP 30 /* VM map structures */#define M_VMMAPENT 31 /* VM map entry structures */#define M_VMOBJ 32 /* VM object structure */#define M_VMOBJHASH 33 /* VM object hash structure */#define M_VMPMAP 34 /* VM pmap */#define M_VMPVENT 35 /* VM phys-virt mapping entry */#define M_VMPAGER 36 /* XXX: VM pager struct */#define M_VMPGDATA 37 /* XXX: VM pager private data */#define M_FILE 38 /* Open file structure */#define M_FILEDESC 39 /* Open file descriptor table */#define M_LOCKF 40 /* Byte-range locking structures */#define M_PROC 41 /* Proc structures */#define M_SUBPROC 42 /* Proc sub-structures */#define M_SEGMENT 43 /* Segment for LFS */#define M_LFSNODE 44 /* LFS vnode private part */#define M_FFSNODE 45 /* FFS vnode private part */#define M_MFSNODE 46 /* MFS vnode private part */#define M_NQLEASE 47 /* Nqnfs lease */#define M_NQMHOST 48 /* Nqnfs host address table */#define M_NETADDR 49 /* Export host address structure */#define M_NFSSVC 50 /* Nfs server structure */#define M_NFSUID 51 /* Nfs uid mapping structure */#define M_NFSD 52 /* Nfs server daemon structure */#define M_IPMOPTS 53 /* internet multicast options */#define M_IPMADDR 54 /* internet multicast address */#define M_IFMADDR 55 /* link-level multicast address */#define M_MRTABLE 56 /* multicast routing tables */#define M_ISOFSMNT 57 /* ISOFS mount structure */#define M_ISOFSNODE 58 /* ISOFS vnode private part */#define M_MSDOSFSMNT 59 /* MSDOS FS mount structure */#define M_MSDOSFSFAT 60 /* MSDOS FS fat table */#define M_MSDOSFSNODE 61 /* MSDOS FS vnode private part */#define M_TTYS 62 /* allocated tty structures */#define M_EXEC 63 /* argument lists & other mem used by exec */#define M_MISCFSMNT 64 /* miscfs mount structures */#define M_MISCFSNODE 65 /* miscfs vnode private part */#define M_ADOSFSMNT 66 /* adosfs mount structures */#define M_ADOSFSNODE 67 /* adosfs vnode private part */#define M_ANODE 68 /* adosfs anode structures and tables. */#define M_IPQ 69 /* IP packet queue entry */#define M_AFS 70 /* Andrew File System */#define M_ADOSFSBITMAP 71 /* adosfs bitmap */#define M_EXT2FSNODE 72 /* EXT2FS vnode private part */#define M_PFIL 73 /* packer filter */#define M_PFKEY 74 /* pfkey data */#define M_TDB 75 /* Transforms database */#define M_XDATA 76 /* IPsec data */#define M_VFS 77 /* VFS file systems */#define M_PAGEDEP 78 /* File page dependencies */#define M_INODEDEP 79 /* Inode dependencies */#define M_NEWBLK 80 /* New block allocation */#define M_BMSAFEMAP 81 /* Block or frag allocated from cyl group map */#define M_ALLOCDIRECT 82 /* Block or frag dependency for an inode */#define M_INDIRDEP 83 /* Indirect block dependencies */#define M_ALLOCINDIR 84 /* Block dependency for an indirect block */#define M_FREEFRAG 85 /* Previously used frag for an inode */#define M_FREEBLKS 86 /* Blocks freed from an inode */#define M_FREEFILE 87 /* Inode deallocated */#define M_DIRADD 88 /* New directory entry */#define M_MKDIR 89 /* New directory */#define M_DIRREM 90 /* Directory entry deleted */#define M_VMPBUCKET 91 /* VM page buckets */#define M_VMSWAP 92 /* VM swap structures */#define M_DISCQ 93 /* IPv6 discq */#define M_FRAGQ 94 /* IPv6 fragq */#define M_SECA 95 /* Sec Assoc */#define M_I6IFP 96 /* IPv6 if info */#define M_RAIDFRAME 97 /* Raidframe data */#define M_UVMAMAP 98 /* UVM amap and realted */#define M_UVMAOBJ 99 /* UVM aobj and realted */#define M_POOL 100 /* Pool memory */#define M_USB 101 /* USB general */#define M_USBDEV 102 /* USB device driver */#define M_USBHC 103 /* USB host controller */#define M_DMAMAP 126 /* dmamap object */#define M_TEMP 127 /* misc temporary data buffers */#define M_LAST 128 /* Must be last type + 1 */#define INITKMEMNAMES { \ "free", /* 0 M_FREE */ \ "mbuf", /* 1 M_MBUF */ \ "devbuf", /* 2 M_DEVBUF */ \ "socket", /* 3 M_SOCKET */ \ "pcb", /* 4 M_PCB */ \ "routetbl", /* 5 M_RTABLE */ \ "hosttbl", /* 6 M_HTABLE */ \ "fragtbl", /* 7 M_FTABLE */ \ "zombie", /* 8 M_ZOMBIE */ \ "ifaddr", /* 9 M_IFADDR */ \ "soopts", /* 10 M_SOOPTS */ \ "soname", /* 11 M_SONAME */ \ "namei", /* 12 M_NAMEI */ \ "gprof", /* 13 M_GPROF */ \ "ioctlops", /* 14 M_IOCTLOPS */ \ "mapmem", /* 15 M_MAPMEM */ \ "cred", /* 16 M_CRED */ \ "pgrp", /* 17 M_PGRP */ \ "session", /* 18 M_SESSION */ \ "iov", /* 19 M_IOV */ \ "mount", /* 20 M_MOUNT */ \ "fhandle", /* 21 M_FHANDLE */ \ "NFS req", /* 22 M_NFSREQ */ \ "NFS mount", /* 23 M_NFSMNT */ \ "NFS node", /* 24 M_NFSNODE */ \ "vnodes", /* 25 M_VNODE */ \ "namecache", /* 26 M_CACHE */ \ "UFS quota", /* 27 M_DQUOT */ \ "UFS mount", /* 28 M_UFSMNT */ \ "shm", /* 29 M_SHM */ \ "VM map", /* 30 M_VMMAP */ \ "VM mapent", /* 31 M_VMMAPENT */ \ "VM object", /* 32 M_VMOBJ */ \ "VM objhash", /* 33 M_VMOBJHASH */ \ "VM pmap", /* 34 M_VMPMAP */ \ "VM pvmap", /* 35 M_VMPVENT */ \ "VM pager", /* 36 M_VMPAGER */ \ "VM pgdata", /* 37 M_VMPGDATA */ \ "file", /* 38 M_FILE */ \ "file desc", /* 39 M_FILEDESC */ \ "lockf", /* 40 M_LOCKF */ \ "proc", /* 41 M_PROC */ \ "subproc", /* 42 M_SUBPROC */ \ "LFS segment", /* 43 M_SEGMENT */ \ "LFS node", /* 44 M_LFSNODE */ \ "FFS node", /* 45 M_FFSNODE */ \ "MFS node", /* 46 M_MFSNODE */ \ "NQNFS Lease", /* 47 M_NQLEASE */ \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -