int NWDSInitRequester(void); /* temporary */

int NWDSCreateContextHandle(addr);
NWDSContextHandle NWDSCreateContext(void); /* obsolete */
int NWDSDuplicateContextHandle(addr, addr);
int NWDSFreeContext(addr);

int NWDSGetContext2(addr, int, addr, uint);
int NWDSGetContext(addr, int, addr);
int NWDSSetContext(addr, int, addr);
int NWDSSetTransport(addr, uint, addr);

int NWDSAllocBuf(uint, addr);
int NWDSFreeBuf(addr);
int NWDSInitBuf(addr, uint, addr);

int NWDSComputeAttrValSize(addr, addr, uint, addr);
int NWDSGetAttrVal(addr, addr, uint, addr);
int NWDSGetAttrCount(addr, addr, addr);
int NWDSGetAttrName(addr, addr, addr, addr, addr);
int NWDSGetAttrValFlags(addr, addr, addr);
int NWDSGetAttrValModTime(addr, addr, addr);
int NWDSPutAttrVal(addr, addr, uint, addr);
int NWDSPutAttrName(addr, addr, string);
int NWDSPutAttrNameAndVal(addr, addr, string, uint, addr);
int NWDSPutChange(addr, addr, uint, string);
int NWDSPutChangeAndVal(addr, addr, uint, string, uint, addr);

int NWDSGetObjectCount(addr, addr, addr);
int NWDSGetObjectName(addr, addr, addr, addr, addr);
int NWDSGetObjectNameAndInfo(addr, addr, addr, addr, addr);
int NWDSGetDSIInfo(addr, addr, uint, uint, addr);

int NWDSRemoveAllTypesW(addr, addr, addr);
int NWDSRemoveAllTypes(addr, string, addr);
int NWDSCanonicalizeNameW(addr, addr, addr);
int NWDSCanonicalizeName(addr, string, addr);
int NWDSAbbreviateNameW(addr, addr, addr);
int NWDSAbbreviateName(addr, string, addr);

int NWDSMapIDToName(addr, addr, uint, addr);
int NWDSMapNameToID(addr, addr, string, addr);
int NWDSGetObjectHostServerAddress(addr, string, addr, addr);
int NWDSGetServerDN(addr, addr, addr);
int NWDSGetServerAddress(addr, addr, addr, addr);

int __NWDSCompare(addr, addr, uint, addr, addr);

int NWDSAddObject(addr, string, addr, uint, addr);
int NWDSAuthenticateConn(addr, addr);
int NWDSCloseIteration(addr, uint, uint);
int NWDSCompare(addr, string, addr, addr);
int NWDSList(addr, string, addr, addr);
int NWDSListByClassAndName(addr, string, string, string, addr, addr);
int NWDSListContainers(addr, string, addr, addr);
int NWDSModifyDN(addr, string, string, uint);
int NWDSModifyObject(addr, string, addr, uint, addr);
int NWDSModifyRDN(addr, string, string, uint);
int NWDSMoveObject(addr, string, string, string);
int NWDSOpenConnToNDSServer(addr, string, addr);
int NWDSRead(addr, string, uint, uint, addr, addr, addr);
int NWDSReadObjectDSIInfo(addr, string, uint, addr);
int NWDSReadObjectInfo(addr, string, addr, addr);
int NWDSRemoveObject(addr, string);
int NWDSResolveName(addr, string, addr, addr);

/* NWIsDSServer returns true/false instead of error code! */
int NWIsDSServer(addr, addr);
