X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/3e170ce000f1506b7b5d2c5c7faec85ceabb573d..527f99514973766e9c0382a4d8550dfb00f54939:/bsd/sys/malloc.h diff --git a/bsd/sys/malloc.h b/bsd/sys/malloc.h index 713210e1d..0dd7117f5 100644 --- a/bsd/sys/malloc.h +++ b/bsd/sys/malloc.h @@ -81,7 +81,7 @@ #define M_WAITOK 0x0000 #define M_NOWAIT 0x0001 #define M_ZERO 0x0004 /* bzero the allocation */ - +#define M_NULL 0x0008 /* return NULL if space is unavailable*/ #ifdef BSD_KERNEL_PRIVATE @@ -165,9 +165,9 @@ #define M_BUFHDR 72 /* File buffer cache headers */ #define M_OFILETABL 73 /* Open file descriptor table */ #define M_MCLUST 74 /* mbuf cluster buffers */ -#define M_HFSMNT 75 /* HFS mount structure */ -#define M_HFSNODE 76 /* HFS catalog node */ -#define M_HFSFORK 77 /* HFS file fork */ +/* unused 75 */ +/* unused 76 */ +/* unused 77 */ /* unused 78 */ /* unused 79 */ #define M_TEMP 80 /* misc temporary data buffers */ @@ -181,11 +181,11 @@ #define M_IP6MISC 88 /* IPv6 misc. memory */ /* unused 89 */ #define M_IGMP 90 -#define M_JNL_JNL 91 /* Journaling: "struct journal" */ -#define M_JNL_TR 92 /* Journaling: "struct transaction" */ +/* unused 91 */ +/* unused 92 */ #define M_SPECINFO 93 /* special file node */ -#define M_KQUEUE 94 /* kqueue */ -#define M_HFSDIRHINT 95 /* HFS directory hint */ +#define M_KQUEUE 94 /* kqueue system */ +/* unused 95 */ #define M_CLRDAHEAD 96 /* storage for cluster read-ahead state */ #define M_CLWRBEHIND 97 /* storage for cluster write-behind state */ #define M_IOV64 98 /* large iov's for 64 bit process */ @@ -199,9 +199,9 @@ #define M_EXTATTR 106 /* extended attribute */ #define M_SELECT 107 /* per-thread select memory */ /* M_TRAFFIC_MGT 108 */ -#if HFS_COMPRESSION +#if FS_COMPRESSION #define M_DECMPFS_CNODE 109 /* decmpfs cnode structures */ -#endif /* HFS_COMPRESSION */ +#endif /* FS_COMPRESSION */ #define M_INMFILTER 110 /* IPv4 multicast PCB-layer source filter */ #define M_IPMSOURCE 111 /* IPv4 multicast IGMP-layer source filter */ #define M_IN6MFILTER 112 /* IPv6 multicast PCB-layer source filter */ @@ -217,8 +217,11 @@ #define M_FD_VN_DATA 122 /* Per fd vnode data */ #define M_FD_DIRBUF 123 /* Directory entries' buffer */ #define M_NETAGENT 124 /* Network Agents */ +#define M_EVENTHANDLER 125 /* Eventhandler */ +#define M_LLTABLE 126 /* Link layer table */ +#define M_NWKWQ 127 /* Network work queue */ -#define M_LAST 125 /* Must be last type + 1 */ +#define M_LAST 128 /* Must be last type + 1 */ #else /* BSD_KERNEL_PRIVATE */ @@ -226,7 +229,6 @@ #define M_IFADDR 9 /* interface address (IOFireWireIP)*/ #define M_LOCKF 40 /* Byte-range locking structures (msdos) */ #define M_TEMP 80 /* misc temporary data buffers */ -#define M_HFSMNT 75 /* HFS mount structure (afpfs) */ #define M_KAUTH 100 /* kauth subsystem (smb) */ #define M_SONAME 11 /* socket name (smb) */ #define M_PCB 4 /* protocol control block (smb) */ @@ -260,26 +262,27 @@ extern struct kmemstats kmemstats[]; * The malloc/free primatives used * by the BSD kernel code. */ -#if XNU_KERNEL_PRIVATE +#ifdef XNU_KERNEL_PRIVATE #include -#define MALLOC(space, cast, size, type, flags) \ - ({ static vm_allocation_site_t site __attribute__((section("__DATA, __data"))); \ +#define MALLOC(space, cast, size, type, flags) \ + ({ VM_ALLOC_SITE_STATIC(0, 0); \ (space) = (cast)__MALLOC(size, type, flags, &site); }) -#define REALLOC(space, cast, addr, size, type, flags) \ - ({ static vm_allocation_site_t site __attribute__((section("__DATA, __data"))); \ + +#define REALLOC(space, cast, addr, size, type, flags) \ + ({ VM_ALLOC_SITE_STATIC(0, 0); \ (space) = (cast)__REALLOC(addr, size, type, flags, &site); }) -#define _MALLOC(size, type, flags) \ - ({ static vm_allocation_site_t site __attribute__((section("__DATA, __data"))); \ +#define _MALLOC(size, type, flags) \ + ({ VM_ALLOC_SITE_STATIC(0, 0); \ __MALLOC(size, type, flags, &site); }) -#define _REALLOC(addr, size, type, flags) \ - ({ static vm_allocation_site_t site __attribute__((section("__DATA, __data"))); \ +#define _REALLOC(addr, size, type, flags) \ + ({ VM_ALLOC_SITE_STATIC(0, 0); \ __REALLOC(addr, size, type, flags, &site); }) -#define _MALLOC_ZONE(size, type, flags) \ - ({ static vm_allocation_site_t site __attribute__((section("__DATA, __data"))); \ +#define _MALLOC_ZONE(size, type, flags) \ + ({ VM_ALLOC_SITE_STATIC(0, 0); \ __MALLOC_ZONE(size, type, flags, &site); }) #define FREE(addr, type) \ @@ -295,7 +298,7 @@ extern void *__MALLOC( size_t size, int type, int flags, - vm_allocation_site_t *site); + vm_allocation_site_t *site) __attribute__((alloc_size(1))); extern void _FREE( void *addr, @@ -306,7 +309,7 @@ extern void *__REALLOC( size_t size, int type, int flags, - vm_allocation_site_t *site); + vm_allocation_site_t *site) __attribute__((alloc_size(2))); extern void *__MALLOC_ZONE( size_t size,