__foldwin32sstuff __foldwin32sstuff; foldstyleinitialization = true; /*****************************************************************/ /** Microsoft Windows 4.00 **/ /** Copyright (C) Microsoft Corp., 1992-1993 **/ /*****************************************************************/ /* * API thunks for Netware 16bit APIs called from Win32 DLL */ enablemapdirect3216 = true; flatthunks = true; #include "types.thk" /* * Locale APIs * * nwlocale.h & nwlocale.lib */ LPVOID ThkNWLlocaleconv( LPVOID lconvPtr); UINT ThkNWInitUnicodeTables(int countryCode, int codePage); UINT ThkNWFreeUnicodeTables() ; /* * Misc. APIs * */ /* WORD ThkNWWordSwap(WORD swapWord); DWORD ThkNWLongSwap(DWORD swapLong); */ UINT ThkNWGetRequesterVersion(LPBYTE majorVersion,LPBYTE minorVersion,LPBYTE revision) { majorVersion=output; minorVersion=output; revision =output; } /* * Directory services APIs * * nwds*.h & nwcalls.lib * */ ULONG ThkNWDSCreateContext(); DWORD ThkNWDSFreeContext(ULONG context); UINT ThkNWDSGetContext(ULONG context,INT key, LPVOID lpvalue) { lpvalue = output; } UINT ThkNWDSSetContext(ULONG context,int key,LPVOID lpvalue) { lpvalue = input; } UINT ThkNWDSList(ULONG context,LPSTR object,LPDWORD iterationHandle,DWORD subordinates) { object=input; iterationHandle=output; } UINT ThkNWDSGetObjectCount(ULONG context,DWORD buf,LPDWORD objectCount) { objectCount=output; } UINT ThkNWDSGetObjectName(ULONG context,DWORD buf,LPSTR objectName,LPDWORD attrCount,LPVOID objectInfo) { objectName=output; objectInfo=output; } UINT ThkNWIsDSAuthenticated(); UINT ThkNWDSAuthenticate(UINT conn, DWORD optionsFlag, LPVOID sessionKey) { sessionKey= output; } UINT ThkNWDSLogin(ULONG context,DWORD optionsFlag,LPSTR objectName,LPSTR password, DWORD validityPeriod); UINT ThkNWDSLogout(ULONG context); UINT ThkNWDSAuditGetObjectID(ULONG context, LPSTR objectName, LPUINT conn, LPDWORD objectID) { objectID = output; } UINT ThkNWGetPreferredDSServer(LPUINT connID) { connID = output; } UINT ThkNWGetNearestDirectoryService(LPUINT connID) { connID = output; } UINT ThkNWGetNumConnections(LPWORD numConnections) { numConnections=output; } UINT ThkNWFreeConnectionSlot(UINT connID,BYTE disconnectType); UINT ThkNWGetNextConnectionID(LPUINT connID) { connID = output; } UINT ThkNWSetPreferredDSTree(WORD length,LPSTR treeName) { treeName = output; } UINT ThkNWSetDefaultNameContext(WORD contextLength,LPSTR context); UINT ThkNWGetDefaultNameContext(WORD bufferSize,LPSTR context) { context = output; } UINT ThkNWGetPreferredConnName(LPSTR preferredName,LPBYTE preferredType) { preferredName = output; preferredType = output; } UINT ThkNWDSAbbreviateName(ULONG context,LPSTR inName,LPSTR abbreviatedName) { abbreviatedName=output; } UINT ThkNWDSCanonicalizeName(ULONG context,LPSTR objectName,LPSTR canonName) { canonName=output; } UINT ThkNWDSRemoveAllTypes(ULONG context,LPSTR name,LPSTR typelessName) { typelessName=output; } UINT ThkNWDSAllocBuf(UINT size,LPDWORD buf) { buf=output; } UINT ThkNWDSFreeBuf(DWORD buf); /* * Bindery APIs * * nwcalls.lib , nwmisc.h, nwbindry.h * */ UINT ThkNWCallsInit(DWORD in, DWORD out); UINT ThkNWGetDefaultConnectionID(LPWORD lpconn) { lpconn=output; } UINT ThkNWVerifyObjectPassword( UINT conn, LPSTR objectName, WORD objectType, LPSTR password); UINT ThkNWDisallowObjectPassword( UINT conn, LPSTR objectName, WORD objectType, LPSTR disallowedPassword); UINT ThkNWChangeObjectPassword( UINT conn, LPSTR objectName, WORD objectType, LPSTR oldPassword, LPSTR newPassword) { newPassword=output; } UINT ThkNWWritePropertyValue( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, BYTE segmentNumber, LPBYTE segmentData, BYTE moreSegments); UINT ThkNWAddObjectToSet( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, LPSTR memberName, WORD memberType); UINT ThkNWDeleteObjectFromSet( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, LPSTR memberName, WORD memberType); UINT ThkNWIsObjectInSet( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, LPSTR memberName, WORD memberType); UINT ThkNWGetObjectDiskSpaceLeft( UINT conn, DWORD objectID, LPDWORD systemElapsedTime, LPDWORD unusedDiskBlocks, LPBYTE restrictionEnforced) { systemElapsedTime=output; unusedDiskBlocks=output; restrictionEnforced=output; } UINT ThkNWGetBinderyAccessLevel( UINT conn, LPBYTE accessLevel, LPDWORD objectID) { accessLevel=output; objectID=inout; } UINT ThkNWCreateProperty( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, BYTE propertyFlags, BYTE propertySecurity); UINT ThkNWDeleteProperty( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName); UINT ThkNWChangePropertySecurity( UINT conn, LPSTR objectName, WORD objectType, LPSTR propertyName, BYTE newPropertySecurity) { } UINT ThkNWCreateObject( UINT conn, LPSTR objectName, WORD objectType, BYTE objectFlags, BYTE objectSecurity) { } UINT ThkNWDeleteObject( UINT conn, LPSTR objectName, WORD objectType) { } UINT ThkNWRenameObject( UINT conn, LPSTR oldObjectName, LPSTR newObjectName, WORD objectType) { } UINT ThkNWChangeObjectSecurity( UINT conn, LPSTR objectName, WORD objectType, BYTE newObjectSecurity) { } UINT ThkNWOpenBindery(UINT conn) { } UINT ThkNWCloseBindery(UINT conn) { } UINT ThkNWScanObjectTrusteePaths( UINT conn, DWORD objectID, WORD volNumber, LPWORD sequenceNumber, LPBYTE accessRights, LPSTR dirPath) { sequenceNumber=inout; accessRights=inout; dirPath=inout; } UINT ThkNWGetObjectEffectiveRights( UINT conn, DWORD objectID, BYTE dirHandle, LPSTR path, LPWORD rightsMask) { path=output; rightsMask=output; } UINT ThkNWScanObject(WORD conn,LPSTR searchName, WORD searchType,LPDWORD objectID, LPSTR objectName,LPWORD objectType, LPBYTE hasPropertiesFlag, LPBYTE objectFlags, LPBYTE objectSecurity) { searchName = input; objectID = inout; objectName = output; objectType = output; hasPropertiesFlag = output; objectFlags = output; objectSecurity = output; } UINT ThkNWScanProperty(WORD conn, LPSTR objectName, WORD objectType, LPSTR searchPropertyName, LPDWORD sequenceNumber, LPSTR propertyName, LPBYTE propertyFlags, LPBYTE propertySecurity, LPBYTE hasValueFlag, LPBYTE moreFlag) { objectName = input; searchPropertyName=input; sequenceNumber=inout; propertyName = output; propertyFlags = output; propertySecurity = output; hasValueFlag = output; moreFlag=output; } UINT ThkNWReadPropertyValue( WORD conn, LPSTR objectName, WORD objectType, LPSTR propertyName, BYTE segmentNumber, LPBYTE segmentData, LPBYTE moreSegments, LPBYTE flags) { objectName = input; propertyName = input; segmentData = output; moreSegments = output; flags = output; } UINT ThkNWGetObjectName( WORD conn, DWORD objectID, LPSTR objectName, LPWORD objectType) { objectName = output; objectType = output; } UINT ThkNWGetObjectID(UINT conn,LPSTR objectName,WORD objectType,LPDWORD objectID) { objectName=input; objectID=output; } /* * Connection management * * */ UINT ThkNWGetConnInfo(UINT conn, WORD type, LPVOID data) { data=output; } UINT ThkNWLockConnection(UINT conn); UINT ThkNWGetConnectionUsageStats( UINT conn, UINT connNumber, LPVOID statusBuffer) { statusBuffer = output; } UINT ThkNWGetConnectionInformation( UINT conn, UINT connNumber, LPSTR objectName, LPWORD objectType, LPDWORD objectID, LPBYTE loginTime) { objectName = output; objectType = output; objectID = output; loginTime = output; } UINT ThkNWGetConnectionIDFromName(DWORD nameLen, LPBYTE name, UINT *conn) { name = input; conn = output; } UINT ThkNWGetInternetAddress( UINT conn, UINT connNumber, LPBYTE internetAddress) { internetAddress=output; } VOID ThkNWGetMaximumConnections(LPWORD maxConnections) { maxConnections=output; } UINT ThkNWGetConnectionList( WORD mode, LPUINT connListBuffer, WORD connListSize, LPWORD numConnections) { connListBuffer=output; numConnections=output; } UINT ThkNWGetConnectionStatus( UINT conn, LPVOID connInfo, WORD connInfoSize) { connInfo=output; } UINT ThkNWGetConnectionNumber( UINT conn, LPUINT connNumber) { connNumber=output; } UINT ThkNWClearConnectionNumber( UINT conn, UINT connNumber); UINT ThkNWGetConnectionHandle( LPBYTE serverName, WORD mode, LPUINT conn, LPWORD connScope) { conn=output; connScope=output; } UINT ThkNWSetPrimaryConnectionID(UINT conn); UINT ThkNWGetPrimaryConnectionID(LPUINT conn) { conn=output; } UINT ThkNWGetObjectConnectionNumbers( UINT conn, LPSTR objectName, WORD objectType, LPWORD numConnections, LPUINT connList, WORD maxConnections) { numConnections=output; connList=output; } UINT ThkNWGetConnListFromObject( UINT conn, DWORD objectID, DWORD searchConnNum, LPWORD connListLen, LPDWORD connList ) { connListLen=output; connList=output; } UINT ThkNWIsIDInUse(UINT conn); UINT ThkNWGetPreferredServer(LPUINT conn) { conn=output; } UINT ThkNWSetPreferredServer(UINT conn) { } /* * File server operations * * nwserver.h * */ UINT ThkNWAttachToFileServer( LPSTR serverName, WORD scopeFlag, LPUINT newConnID) { newConnID = output; } UINT ThkNWGetFileServerLoginStatus( UINT conn, LPBYTE loginEnabledFlag) { loginEnabledFlag=output; } UINT ThkNWDetachFromFileServer(UINT conn); UINT ThkNWGetFileServerName(UINT conn, LPSTR serverName); UINT ThkNWLogoutFromFileServer(UINT conn); UINT ThkNWLoginToFileServer( UINT conn, LPSTR objectName, WORD objectType, LPSTR password); UINT ThkNWEnableFileServerLogin(UINT conn); UINT ThkNWDisableFileServerLogin(UINT conn); UINT ThkNWGetFileServerDescription( UINT conn, LPSTR companyName, LPSTR revision, LPSTR revisionDate, LPSTR copyrightNotice) { companyName=output; revision=output; revisionDate=output; copyrightNotice=output; } UINT ThkNWGetFileServerVersion( UINT conn, LPWORD serverVersion) { serverVersion=output; } UINT ThkNWAttachToFileServerByConn( UINT conn, LPSTR serverName, WORD scopeFlag, LPUINT newConnID) { newConnID=output; } UINT ThkNWGetVolumeName(UINT conn,WORD volNum,LPSTR volName) { volName=output; } UINT ThkNWParsePath(LPSTR path, LPSTR serverName, LPUINT conn, LPSTR volName, LPSTR dirPath) { serverName=output; conn=output; volName=output; dirPath=output; } UINT ThkNWGetDriveStatus( UINT driveNumber, WORD pathFormat, LPWORD status, LPUINT conn, LPSTR rootPath, LPSTR relativePath, LPSTR fullPath) { status = output; conn = output; rootPath = output; relativePath= output; fullPath= output; } UINT ThkNWSetDriveBase( UINT driveNumber, UINT conn, BYTE dirHandle, LPSTR dirPath, WORD driveScope) { } UINT ThkNWDeleteDriveBase( UINT driveNumber, WORD driveScope) { } UINT ThkNWConvertHandle(UINT conn, BYTE accessMode, LPBYTE NetWareHandle, WORD handleSize, DWORD fileSize, LPWORD fileHandle) { NetWareHandle = input; fileHandle = output; } /* * * Queue Management Services * */ UINT ThkNWAbortServicingQueueJob(UINT conn, DWORD queueID, DWORD jobNumber, UINT fileHandle); UINT ThkNWChangeQueueJobEntry2(UINT conn,DWORD queueID,LPBYTE job); UINT ThkNWCloseFileAndStartQueueJob2(UINT conn, DWORD queueID, DWORD jobNumber, UINT fileHandle); UINT ThkNWCreateQueueFile2(UINT conn, DWORD queueID, LPBYTE job, UINT *fileHandle); UINT ThkNWGetQueueJobFileSize2( UINT conn, DWORD queueID, WORD jobNumber, LPDWORD fileSize) { fileSize = output; } UINT ThkNWGetQueueJobList2( UINT conn, DWORD queueID, DWORD queueStartPosition, LPBYTE job) { } UINT ThkNWReadQueueCurrentStatus2( UINT conn, DWORD queueID, LPBYTE queueStatus, LPWORD numberOfJobs, LPWORD numberOfServers, LPDWORD serverIDlist, LPWORD serverConnList) { } UINT ThkNWReadQueueJobEntry2( UINT conn, DWORD queueID, WORD jobNumber, LPBYTE job) { job=output; } UINT ThkNWRemoveJobFromQueue2( UINT conn, DWORD queueID, WORD jobNumber); UINT ThkNWSetQueueCurrentStatus2( UINT conn, DWORD queueID, DWORD queueStatus); /* * * Printer Services * */ UINT ThkNWGetCaptureFlags(BYTE LPTDevice, LPBYTE captureFlagsRW, LPBYTE captureFlagsRO) { captureFlagsRW=output; captureFlagsRO=output; } UINT ThkNWGetPrinterDefaults(LPBYTE status, LPBYTE flags, LPBYTE tabSize, LPBYTE serverPrinter, LPBYTE numberCopies, LPBYTE formType, LPSTR bannerText, LPBYTE localLPTDevice, LPWORD captureTimeOutCount, LPBYTE captureOnDeviceClose) { flags=output; tabSize=output; serverPrinter=output; numberCopies=output; formType=output; bannerText=output; localLPTDevice=output; captureTimeOutCount=output; captureOnDeviceClose=output; } UINT ThkNWStartQueueCapture(UINT conn, BYTE LPTDevice, DWORD queueID, LPSTR queueName); UINT ThkNWGetCaptureStatus(BYTE LPTDevice); UINT ThkNWFlushCapture(BYTE LPTDevice); UINT ThkNWEndCapture(BYTE LPTDevice); UINT ThkNWCancelCapture(BYTE LPTDevice); /* * Print server management APIs */ UINT ThkNWPSComAttachToPrintServer( WORD connType, DWORD connID, WORD timeOut, LPSTR pServerName, LPWORD spxID) { pServerName=input; spxID=output; } UINT ThkNWPSComLoginToPrintServer( WORD connType, DWORD connID, WORD spxID, LPBYTE accessLevel); UINT ThkNWPSComDetachFromPrintServer(WORD spxID); UINT ThkNWPSComGetPrinterStatus( WORD spxID, WORD printerID, LPBYTE status, LPBYTE troubleCode, LPBYTE active, LPBYTE serviceMode, LPWORD formNumber, LPSTR formName, LPSTR printerName) { status=output; troubleCode=output; active=output; serviceMode=output; formNumber=output; formName=output; printerName=output; } UINT ThkNWPSComGetNextRemotePrinter( WORD spxID, LPWORD printerID, LPWORD printerType, LPSTR printerName) { printerID=output; printerType=output; printerName=output; } UINT ThkNWPSComGetQueuesServiced( WORD spxID, WORD printerID, LPWORD sequence, LPSTR nServerName, LPSTR queueName, LPWORD priority)= UINT ThkNWPSComGetQueuesServiced( WORD spxID, WORD printerID, LPWORD sequence, LPSTR nServerName, LPSTR queueName, LPWORD priority) { sequence=output; nServerName=output; queueName=output; priority=output; }