⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 darray.h

📁 很好的rootkit介绍书籍
💻 H
字号:
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)#pragma datamodel(P128)#endif/*********************************************************************//*                                                                   *//* Licensed Materials - Property of IBM                              *//*                                                                   *//* L-GHUS-5VMPGW, L-GHUS-5S3PEE                                      *//* (C) Copyright IBM Corp. 1989, 1998  All Rights Reserved           *//*                                                                   *//* US Government Users Restricted Rights - Use, duplication or       *//* disclosure restricted by GSA ADP Schedule Contract with           *//* IBM Corp.                                                         *//*                                                                   *//*********************************************************************/#ifdef __cplusplusextern "C" {#endif/* Dynamic array package definitions */#ifndef DARRAY_DEFS#define DARRAY_DEFS/* Dynamic array header structure (24 bytes; 48 bytes on 16-byte pointer machines e.g. OS400). */typedef struct {	WORD ObjectSize;						/* Total array object size */	WORD ElementsUsed;						/* Elements in use */	WORD ElementsFree;						/* Free elements */	WORD ElementsFreeMax;					/* Maximum free elements */	WORD ElementsFreeExtra;					/* Extra free elements to maintain */	WORD ElementSize;						/* Element size in bytes */	WORD ElementStrings;					/* Number packed string descriptors in each element */	WORD StringStorageOffset;				/* Offset to packed string storage */	WORD StringStorageUsed;					/* In use bytes of string storage */	WORD StringStorageFree;					/* Free bytes of string storage */	WORD StringStorageFreeMax;				/* Maximum free storage */	WORD StringStorageFreeExtra;			/* Extra free storage to maintain *//*  First array element follows here.  First byte of packed string storage *//*  follows last allocated array element.  Since this PSTRING structure contains a pointer, *//*  it must begin on an aligned boundary. */#if NATURAL_ALIGNMENT == 16	void *PaddingPointer;#endif	} DARRAY; /* Packed string descriptor */typedef struct {	WORD StringSize;						/* String size */	WORD StringType;						/* String type (info only) */	char far *String;						/* String pointer or offset */	} PSTRING;/* Dynamic array functions and macros */STATUS LNPUBLIC OSDArrayAlloc (WORD ElementSize,								WORD StringsPerElement,								WORD InitialElements,								WORD InitialStringStorage,								HANDLE far *rethDArray,								DARRAY far * far *retDArray);STATUS LNPUBLIC OSDArraySetFreeSizes (DARRAY far *DArray,								WORD ElementsFreeExtra,								WORD ElementsFreeMax,								WORD StringStorageFreeExtra,								WORD StringStorageFreeMax);STATUS LNPUBLIC OSDArrayAddElement (HANDLE hDArray, DARRAY far * far *DArray,								void far *NewElement,								WORD NewIndex);STATUS LNPUBLIC OSDArrayRemoveElement (HANDLE hDArray, DARRAY far * far *DArray,								WORD Index);#define OSDArray(darray, elementtype) ((elementtype far *)(&((darray)[1])))/* Packed string functions and macros */#define OSDArrayString(darray, pstring) \	( (char far *) (darray) + (darray)->StringStorageOffset + \				(DWORD) ((pstring).String) )#endif#ifdef __cplusplus}#endif#if defined(OS400) && (__OS400_TGTVRM__ >= 510)#pragma datamodel(pop)#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -