1N/A
1N/A/* : : generated by proto : : */
1N/A/***********************************************************************
1N/A* *
1N/A* This software is part of the ast package *
1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property *
1N/A* and is licensed under the *
1N/A* Common Public License, Version 1.0 *
1N/A* by AT&T Intellectual Property *
1N/A* *
1N/A* A copy of the License is available at *
1N/A* http://www.opensource.org/licenses/cpl1.0.txt *
1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
1N/A* *
1N/A* Information and Software Systems Research *
1N/A* AT&T Research *
1N/A* Florham Park NJ *
1N/A* *
1N/A* Glenn Fowler <gsf@research.att.com> *
1N/A* David Korn <dgk@research.att.com> *
1N/A* Phong Vo <kpv@research.att.com> *
1N/A* *
1N/A***********************************************************************/
1N/A
1N/A/*
1N/A * David Korn
1N/A * AT&T Research
1N/A *
1N/A * Interface definitions for a stack-like storage library
1N/A *
1N/A */
1N/A
1N/A#ifndef _STK_H
1N/A#if !defined(__PROTO__)
1N/A#include <prototyped.h>
1N/A#endif
1N/A#if !defined(__LINKAGE__)
1N/A#define __LINKAGE__ /* 2004-08-11 transition */
1N/A#endif
1N/A
1N/A#define _STK_H
1N/A
1N/A#include <sfio.h>
1N/A
1N/A#define _Stk_data _Stak_data
1N/A
1N/A#define stkstd (&_Stk_data)
1N/A
1N/A#define Stk_t Sfio_t
1N/A
1N/A#define STK_SMALL 1 /* small stkopen stack */
1N/A#define STK_NULL 2 /* return NULL on overflow */
1N/A
1N/A#define stkptr(sp,n) ((char*)((sp)->_data)+(n))
1N/A#define stktop(sp) ((char*)(sp)->_next)
1N/A#define stktell(sp) ((sp)->_next-(sp)->_data)
1N/A#define stkseek(sp,n) ((n)==0?(char*)((sp)->_next=(sp)->_data):_stkseek(sp,n))
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A#if !_BLD_ast && defined(__IMPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __IMPORT__
1N/A#endif
1N/A
1N/Aextern __MANGLE__ Sfio_t _Stk_data;
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A
1N/Aextern __MANGLE__ Stk_t* stkopen __PROTO__((int));
1N/Aextern __MANGLE__ Stk_t* stkinstall __PROTO__((Stk_t*, char*(*)(int)));
1N/Aextern __MANGLE__ int stkclose __PROTO__((Stk_t*));
1N/Aextern __MANGLE__ int stklink __PROTO__((Stk_t*));
1N/Aextern __MANGLE__ char* stkalloc __PROTO__((Stk_t*, unsigned));
1N/Aextern __MANGLE__ char* stkcopy __PROTO__((Stk_t*,const char*));
1N/Aextern __MANGLE__ char* stkset __PROTO__((Stk_t*, char*, unsigned));
1N/Aextern __MANGLE__ char* _stkseek __PROTO__((Stk_t*, unsigned));
1N/Aextern __MANGLE__ char* stkfreeze __PROTO__((Stk_t*, unsigned));
1N/Aextern __MANGLE__ int stkon __PROTO__((Stk_t*, char *));
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A#endif