2N/A/*
2N/A * This file is part of libdyn.a, the C Dynamic Object library. It
2N/A * contains the private header file.
2N/A *
2N/A * There are no restrictions on this code; however, if you make any
2N/A * changes, I request that you document them so that I do not get
2N/A * credit or blame for your modifications.
2N/A *
2N/A * Written by Barr3y Jaspan, Student Information Processing Board (SIPB)
2N/A * and MIT-Project Athena, 1989.
2N/A */
2N/A
2N/A
2N/A/*
2N/A * dynP.h -- private header file included by source files for libdyn.a.
2N/A */
2N/A
2N/A#ifndef _DynP_h
2N/A#define _DynP_h
2N/A
2N/A#include "dyn.h"
2N/A#ifdef USE_DBMALLOC
2N/A#include <sys/stdtypes.h>
2N/A#include <malloc.h>
2N/A#endif
2N/A
2N/A/*
2N/A * Rep invariant:
2N/A * 1) el_size is the number of bytes per element in the object
2N/A * 2) num_el is the number of elements currently in the object. It is
2N/A * one higher than the highest index at which an element lives.
2N/A * 3) size is the number of elements the object can hold without
2N/A * resizing. num_el <= index.
2N/A * 4) inc is a multiple of the number of elements the object grows by
2N/A * each time it is reallocated.
2N/A */
2N/A
2N/Atypedef struct _DynObject DynObjectRecP, *DynObjectP;
2N/A
2N/A#define _DynRealloc gssrpcint_DynRealloc
2N/A#define _DynResize gssrpcint_DynResize
2N/A
2N/A/* Internal functions */
2N/Aint _DynRealloc (DynObjectP obj, int req),
2N/A _DynResize (DynObjectP obj, int req);
2N/A
2N/A#undef P
2N/A
2N/A#endif /* _DynP_h */
2N/A/* DON'T ADD STUFF AFTER THIS #endif */