home *** CD-ROM | disk | FTP | other *** search
- *************************************************
- * Turbo Pascal API's for Novell Netware (TPAPI) *
- *************************************************
-
- TPAPI (c) Copyr. 1991 - 1994 Antonio Covelli ALL RIGHTS RESERVED
-
-
- VERSION CHANGES (reverse chronological order)
- ===============
-
- Version 1.53 - Released 14th January, 1994
-
- * Added a messagebox when IPX/NETX cannot be detected under Windows. Thanks
- go to Richard Meatyard [100064,1200] for this suggestion.
-
- * Added a change to JobStructure (NWVAR) so that you can setup the banner
- page amongst other things. Many thanks go to Juergen Poganatz [100103,2004]
- who provided this information.
-
- * Added new function AddText to NetwareOBJ. This allows text to be added to
- types of CHAR or BYTE.
-
- * Changed JobStructure.TextJobDescription (NWVAR) to be TChar50Array.
-
- * Cleaned up several API's within NWPRINT.
-
- * Started to add comments to the source code in the INTERFACE section. This
- can be read by D.J.Murdoch's SCANHELP program. Refer to SRCDOC.DOC for more
- information.
-
- * Renamed JobStruct to JobStruct286 and created new 386 structure called
- JobStructure.
-
- * Added 386 equivalent functions of QUEUE services (NWQUEUE). These are the
- same as the 286 equivalents but end in 2.
-
- * Added new function for converting PASCAL strings to ASCIIZ and adding the
- product to the request buffer - AddPASCALToASCIIZStr (NETWARE).
-
- * Renamed AddString to AddPASCALString (NETWARE).
-
- * Fixed minor problem in GetConnectionsOpenFiles (NWFSSERV).
-
- --------------------------------------------------------------------------------
-
- Version 1.52 - Not released - Internal version
-
- * Merged SerialOBJ into FileServerOBJ in line with the Client Assembly Docs.
-
- * Removed NCPConnRequest and added ConnectionHandle parameter to NCPRequest.
-
- * Added GetPASCALString to NETWARE for getting PASCAL style strings from the
- buffer. Renamed GetString to GetASCIIZString.
-
- * Fixed bug in GetSearchOrderFromDriveLetter (NETWARE).
-
- * Removed parameter CommentLen from SubmitAccountNote (NWACCNTG) as it is not
- needed.
-
- * Added parameter ConnectionHandle to VLMTransportCall. If you wish to use
- the default file server then pass the constant NWDEFCONNHANDLE.
-
- * Removed LogReq from NetwareOBJ. (Not needed anymore).
-
- * Renamed LoginToFileServer to LoginObject (NWCONN).
-
- * Merged FileServiceOBJ and DirectoryOBJ objects and called them FileSystemOBJ
- after the Client Assembly API. This will result in smaller code. Renamed
- NWDIR.PAS to NWFSYST.PAS.
-
- * Renamed CreateQueueJobAndFile to CreateQueueJobAndFileText and created a new
- method CreateQueueJobAndFileBinary. The former uses FileOfText while the
- latter uses FileOfByte.
-
- The above applies to all ???QueueJobAndFile API's within NWQUEUE. If someone
- knows a better way of doing this then let me know. Thanks.
-
- * Changed some of the API's in NWSYNCH to return result codes.
-
- * Created new object ExtAttrOBJ. This object deals with the extended attributes
- available within Netware.
-
- * Updated GetObjectConnectionNumbers to use NCP and renamed to
- GetObjectConnectionList.
-
- * Updated GetDirInfo to use NCP and renamed to GetDirectoryInformation.
-
- * Fixed bug in ScanDirRestrictions (NWDIR) in that it returned the wrong
- information and GPI'd in DPMI/WINDOWS.
-
- * Finished implementing the DPMI access to the VLM shells. Many thanks go to
- Julian Bucknell for pointing me in the right direction. There is still a lot
- of work involved in getting all the functionality in place.
-
- * Added new api's to NWFSERV :
-
- 1) SetFileAttributes
-
- * Changed function LoginToFileServerEncrypted to Novell's name of KeyedLogin.
-
- * Fixed minor bug in GetEncryptedKey. I do not need to swap the ObjectID
- around.
-
- * Added the rest of the code to the example KeyPass. Sorry for that glaring
- omission.
-
- * Fixed small omission in ScanFileDirectoryExtTrustee (NWDIR).
-
- * Just thought I would tell you why I am converting the library to use
- request/receive packets :
-
- The NCP is a transport mechanism for sending API calls to a file server.
- This method allows the developer to send raw packets to a server. If the
- packet contents are invalid then the server can do several things :
-
- 1) Issue an invalid packet error
- 2) Issue an unsupported API error
- 3) Crash & burn (not literally).
-
- Novell is now publishing it's API's in the new request/receive packet and I
- am following suit. This will allow me to do a couple of very important tasks
-
- 1) Maintain a common set of API's regardless of whether the VLM or NETX
- clients are running since both clients use the same packet structures.
- 2) It is easier to code the API's for DPMI/WINDOWS modes when requiring
- request/receive packets.
- 3) Novell has stated that development on NETX has ceased (refer to Novell's
- Client API for Assembly documentation).
-
- --------------------------------------------------------------------------------
-
- Version 1.51 - Released 1st September, 1993
-
- * Changed bug in GetVolumeName (NWDIR) so that the volumename is correctly
- returned. Also changed to the NCP (F2) protocol.
-
- * Implemented ConvertPathToDirectoryEntry in NETWARE.
-
- * Implemented MapDirectoryNumberToPath in NETWARE.
-
- * Moved duplicate functions ScanBinderyObjectTrusteePaths from NWBINDRY &
- NWDIR to NETWARE. Also changed it to use the NCP (F2) protocol.
-
- * Changed GetServerInformation (NWFSSERV) to use the NCP (F2) protocol.
-
- * Added ScanFileDirectoryExtTrustee API to NWDIR. This also uses the NCP (F2)
- protocol.
-
- * Changed Rights parameter in GetEffectiveRights to be TrusteeRights.
-
- * Added AddExtTrusteeFileDirectoryTrustee API to NWDIR. This also use the
- NCP (F2) protocol.
-
- * Added Netware v3.11 support for GetConnectionsOpenFiles in NWDIR.
-
- * Started optimizing certains portions of code within NETWARE. Many thanks
- go to Peter Sawatzki for prompting me to look into this.
-
- * Removed FileServiceRequest from NETWARE. This is exactly the same as
- NCPRequest except that the buffer lengths are passed before their
- respective buffers.
-
- * Fixed bug in _IPXInitialise that would stop it from working with the
- older shells.
-
- * Fixed bug in GetVolumeInfoWithNumber (NWDIR) in that it would not work in
- DPMI mode.
-
- * Fixed bug in MapFakeRoot (NWWRKSTN) in that it would not work in DPMI mode.
-
- * Removed ServerRequest from NETWARE and renamed ServerReq to ServerRequest.
-
- * Added support for KeyedChangePassword, KeyedVerifyPassword. See example
- KEYPASS for additional info.
-
- * Changed all BinderyOBJ methods to use the NCP (F2) protocol. This will allow
- proper interfacing to the VLM once I activate the 2F facility.
-
- * Started changing all the API's to use the NCP (F2) protocol. This method
- uses Request, Receive buffers for most (if not all) of the calls.
-
- --------------------------------------------------------------------------------
-
- Version 1.50 - Released : 1st July, 1993
-
- * Encrypted password support is now available thanks to Barry Nance. Barry
- has kindly allowed me to incorporate his ELOGON source code into TPAPI.
- The source (in NWENCRYP) was from Software Corner, Byte Magazine.
-
- * Changed all declared TYPES in NWVAR. The following example show the change
-
- ObjectNameType -> TObjectName
- PathNameType -> TPathName
-
- This way of declaring TYPES seems to be more or less a standard in the
- industry.
-
- * TPAPI is now DPMI/REAL mode compatible! I have done some preliminary
- testing under Windows and have found no problems so far.
-
- * Changed the following object names :
-
- ConnectOBJ -> ConnectionOBJ
- FServOBJ -> FileServiceOBJ
- SynchOBJ -> SynchronisationOBJ
- WorkStatOBJ -> WorkStationOBJ
-
- * Added lots of examples to do some of the more difficult things in Netware.
- E.G. Printing to LPT ports, printing directly to queues, using semaphores
- and getting workstation information.
-
- --------------------------------------------------------------------------------
-
- Version 1.44 - Not released : Internal version
-
- * Changed ConvertNodeAddress, ConvertNetworkNumber to be functions.
-
- * Added dynamic allocation of the request/receive buffers. When initialising
- objects if you pass true then the buffers are allocated and deallocated for
- each method, if you pass in false then they are allocated once and
- deallocated when you call the object's done method.
-
- The second method is faster but the memory is always taken up whereas in
- the first option you only use the memory when calling a TPAPI api.
-
- --------------------------------------------------------------------------------
-
- Version 1.43 - Not released : Internal version
-
- * Changed ExamineSemaphore (SemaphoreValue), OpenSemaphore (IntialValue) to
- be of type INTEGER. Semaphore values can be negative as well as positive.
-
- * Instead of using PObjectListing I have now changed all methods to use
- PStringCollections for efficency. The collections are all SORTED as they
- are generated.
-
- Basically you need to include the OBJECTS unit in your USES clause. To
- see more information check out the BINDLIS1.PAS file.
-
- Please consult your Turbo Vision manual for more technical information on
- collections.
-
- * Removed data type Set_Capture_Flags from NWVAR as it is not used anywhere.
-
- * Added capability to handle fake roots. Requires NETX.* v3.0 or later.
- MAPFAKEROOT, DELETEFAKEROOT and GETRELATIVEDRIVEDEPTH can be found in
- NWWRKSTN.
-
- * Added fake root capability to MISCMAPDRIVE in NWMISC.
-
- --------------------------------------------------------------------------------
-
- Version 1.42 - Not Released : Internal version
-
- * Changed constant BF_SET in NWVAR to be $02.
-
- * Fixed problem in SCANPROPERTY in NWBINDRY so that the next sequence number
- returned is correct.
-
- * Moved constant HexCharacterSet into HexString function. (NETWARE)
-
- * Started on the long road to DPMI compliance with a lot of help from
- Mark Edington (Borland, Inc USA).
-
- * Within NWQUEUE changed all references to FileOfByte to FileOfText.
-
- * Fixed bug within GetQueueJobList (NWQUEUE) which was that the number of jobs
- within a queue were not all correctly returned.
-
- * Added function GetTPAPIVersion (NETWARE) which returns a string containing
- the version and release date of TPAPI.
-
- --------------------------------------------------------------------------------
-
- Version 1.41 - Released : 19th February, 1993
-
- * Recompiled under Turbo Pascal 7.0 (REAL mode only).
-
- --------------------------------------------------------------------------------
-
- Version 1.4 - Released : 10th October, 1992
-
- * Changed GetObjectName to GetObjectNameID (NWMISC.TPU) so that the objectid
- is now also returned.
-
- * Changed the inner workings of certain parts of the Misc Servvices unit
- (NWMISC.TPU). This should be transparent to everyone. The MiscFuncOBJ now
- uses less memory.
-
- * Removed the parameter ConnectionID from LoginToFileServer in Connection
- unit (NWCONN.TPU) as it is not used.
-
- * Changed GetFileServerMiscInformation (NWFSSERV.TPU) to return the fourth
- dynamic memory pool in Netware 286 v2.2
-
- * Fixed bug in GetNetworkSerialNumber (NWSERIAL.TPU) so that it properly
- returns the requested information.
-
- * Changed ConnectionID in SetCapturePrintQueue (NWPRINT.TPU) to be a WORD
- instead of a BYTE.
-
- * Changed GetNetwareShellVersion (NWWRKSTN.TPU) to return the shell type.
-
- * Added GetTaskMode & SetTaskMode to WorkStation Services (NWWRKSTN.TPU)
-
- * Fixed bugs in SetDefaultCaptureFlags/SetSpecificCaptureFlags (NWPRINT.TPU)
- which caused incorrect setting of the Timeout count.
-
- * Changed DriveHandle to DirectoryHandle in SpecifyCaptureFile (NWPRINT.TPU).
-
- * Added SetShowDots (NWWRKSTN.TPU) to allow the switching of whether or not
- '.' and '..' are seen in directory listings (useful for Windows).
-
- * Changed SetDefaultCaptureFlags, SetSpecificCaptureFlags (NWPRINT.TPU) to use
- Capture_Flags structure instead of Set_Capture_Flags.
-
- * Modified the PrinterSetupBuffer, PrinterResetBuffer in Print Services.
- (NWPRINT.TPU).
-
- * Added SetNWCaptureFlags to Misc Services (NWMISC.TPU). This procedure sets
- the default for the structure Capture_Flags.
-
- * Added GetPrintQueueDirectoryID to Misc Services (NWMISC.TPU).
-
- * Fixed bug in GetFileServerLoginStatus (NWFSSERV.TPU) so that it returns
- correct information.
-
- --------------------------------------------------------------------------------
-
- Version 1.3 - Released : 2nd March, 1992
-
- * Added MakeSupervisor, RevokeSupervisor to Misc Services unit (NWMISC.TPU)
- Allows programmer to easily make an object security equivalent or not to the
- Supervisor.
-
- --------------------------------------------------------------------------------
-
- Version 1.2 - Not Released : Internal version
-
- * Finally completed FileServer Services unit (NWFSSERV.TPU).
-
- * Added several more examples which show how easy it is to replicate Novell
- utilities.
-
- * MapV3TrusteeRightsToV2 (NWDIR.TPU) fixed bug which gave incorrect info.
-
- * Changed _NWMapWildPath (NETWARE.TPU) to a function.
-
- * Moved all table pointers out of NetwareOBJ.
-
- --------------------------------------------------------------------------------
-
- Version 1.1 - Not Released : Internal version
-
- * Added a complete new suite of API's - Queue services. The only difference
- from Netware is that no file handles are returned, instead a FileOfByte
- type is used.
-
- * Added more API's throughout.
-
- * Added AutoLogin function to NWMISC unit.
-
- * Moved FileServerNameTable & ServerConnectionIDTable out of NetwareOBJ.
-
- * Changed variable FileSize to SizeOfFile in certain units.
-
- * Started the documentation in real anger.
-
- * FileServerServices (NWFSSERV.TPU) - Possible bug in Netware
-
- GetExtendedFileAttributes is meant to return the FileAttributes and a
- result. When you call the function both the FileAttributes and the result
- are the same value.
-
- --------------------------------------------------------------------------------
-
- Version 1.0b - Released 4th December, 1991
-
- * First real release of the library for Turbo Pascal 6.0.
- * Certain limitations do exist :
-
- You cannot use any method on a file server that has ENCRYPTED PASSWORDS
- set to on.
-
- --------------------------------------------------------------------------------
-
- Antonio Covelli