📄 pool.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, 2005 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#ifndef POOL_DEFS#define POOL_DEFS/* A datatype which identifies a block within a segment */typedef DWORD DBLOCK; /* dpool block handle */#define NULLBLOCK (BLOCK) 0#define NULLDBLOCK (DBLOCK) 0/* A structure containing a pool handle and block offset */typedef struct /* Pointer to any block in any pool */ { HANDLE pool; /* pool handle */ BLOCK block; /* block handle */ } BLOCKID;typedef struct /* Pointer to any block in any pool */ { HANDLE pool; /* pool handle */ DBLOCK block; /* block handle */ } DBLOCKID;#define ISNULLBLOCKID(x) (((x).pool==NULLHANDLE)&&((x).block==NULLBLOCK))/* Macro functions */#define OSLockBlock(type,blockid) \ ((type far *)(OSLock(char,(blockid).pool) + (blockid).block))#define OSUnlockBlock(blockid) \ OSUnlockObject((blockid).pool)#define OSSwitchBlock(ptr,thisid,nextid) \ { \ if ((thisid).pool != (nextid).pool) \ { \ if ((thisid).pool != NULLHANDLE) \ OSUnlockBlock((thisid)); \ ptr = OSLockBlock(void,(nextid)); \ } \ else \ { \ register char **pptr = (char **) &(ptr); \ *pptr = *pptr + (LONG)((nextid).block - (thisid).block); \ } \ (thisid) = (nextid); \ }#endif#ifdef __cplusplus}#endif#if defined(OS400) && (__OS400_TGTVRM__ >= 510)#pragma datamodel(pop)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -