long
LIB_VECTSIZE=6,
LIB_RESERVED=4,
LIB_BASE=-LIB_VECTSIZE,
LIB_USERDEF=LIB_BASE-LIB_RESERVED*LIB_VECTSIZE,
LIB_NONSTD=LIB_USERDEF,

LIB_OPEN=-6,
LIB_CLOSE=-12,
LIB_EXPUNGE=-18,
LIB_EXTFUNC=-24;

type
Node_t=unknown14,

Library_t=struct{
Node_tlib_Node;
ushortlib_Flags;
ushortlib_pad;
uintlib_NegSize;
uintlib_PosSize;
uintlib_Version;
uintlib_Revision;
*charlib_IdString;
ulonglib_Sum;
uintlib_OpenCnt;
};

ushort
LIBF_SUMMING=1<<0,
LIBF_CHANGED=1<<1,
LIBF_SUMUSED=1<<2,
LIBF_DELEXP=1<<3;

extern
AddLibrary(*Library_tlib)void,
CloseLibrary(*Library_tlib)void,
MakeFunctions(*bytetarget;**bytefunctionArray;*bytefuncDispBase)ulong,
MakeLibrary(**bytevectors;*bytestructure,init;ulongdataSize;
*SegList_tsegList)*Library_t,
OldOpenLibrary(*charname)*Library_t,
OpenLibrary(*charname;ulongversion)*Library_t,
RemLibrary(*Library_tlib)uint,
SetFunction(*Library_tlib;ulongfuncOffset;*bytefuncEntry)*byte,
SumLibrary(*Library_tlib)void;
