📄 fstack.h
字号:
/*------------------------------------------------------------------------- * * fstack.h * Fixed format stack definitions. * * * Copyright (c) 1994, Regents of the University of California * * $Id: fstack.h,v 1.8 1999/05/25 16:13:58 momjian Exp $ * *------------------------------------------------------------------------- *//* * Note: * Fixed format stacks assist in the construction of FIFO stacks of * fixed format structures. Structures which are to be stackable * should contain a FixedItemData component. A stack is initilized * with the offset of the FixedItemData component of the structure * it will hold. By doing so, push and pop operations are simplified * for the callers. All references to stackable items are pointers * to the base of the structure instead of pointers to the * FixedItemData component. * */#ifndef FSTACK_H#define FSTACK_H/* * FixedItem * Fixed format stackable item chain component. * * Note: * Structures must contain one FixedItemData component per stack in * which it will be an item. */typedef struct FixedItemData FixedItemData;typedef FixedItemData *FixedItem;struct FixedItemData{ FixedItem next; /* next item or NULL */};/* * FixedStack * Fixed format stack. */typedef struct FixedStackData{ FixedItem top; /* Top item on the stack or NULL */ Offset offset; /* Offset from struct base to item */ /* this could be signed short int! */} FixedStackData;typedef FixedStackData *FixedStack;/* * FixedStackInit * Iniitializes stack for structures with given fixed component offset. * * Exceptions: * BadArg if stack is invalid pointer. */extern void FixedStackInit(FixedStack stack, Offset offset);/* * FixedStackPop * Returns pointer to top structure on stack or NULL if empty stack. * * Exceptions: * BadArg if stack is invalid. */Pointer FixedStackPop(FixedStack stack);/* * FixedStackPush * Places structure associated with pointer onto top of stack. * * Exceptions: * BadArg if stack is invalid. * BadArg if pointer is invalid. */extern void FixedStackPush(FixedStack stack, Pointer pointer);/* * FixedStackGetTop * Returns pointer to top structure of a stack. This item is not poped. * * Note: * This is not part of the normal stack interface. It is intended for * debugging use only. * * Exceptions: * BadArg if stack is invalid. */extern Pointer FixedStackGetTop(FixedStack stack);/* * FixedStackGetNext * Returns pointer to next structure after pointer of a stack. * * Note: * This is not part of the normal stack interface. It is intended for * debugging use only. * * Exceptions: * BadArg if stack is invalid. * BadArg if pointer is invalid. * BadArg if stack does not contain pointer. */extern Pointer FixedStackGetNext(FixedStack stack, Pointer pointer);#endif /* FSTACK_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -