What's New for Programmers in LAN Server 4.0

by Tom Herrick

Version 4.0 is a strong step forward in the evolution of the LAN Server product. The new version boasts improved usability (including new, graphical user interfaces for DOS, Windows and OS/2), new functions (such as peer services for DOS clients and disk space limits for the advanced server), improved performance, interoperability, reliability, scalability, and much more.

LAN Server Programming
The LAN Server programming environment includes APIs for both the OS/2 and DOS environments. There are well over a hundred APIs provided for nearly any task a program might need to perform in a networking environment. APIs exist for simple functions (such as logging on and browsing the network for shared resources), more advanced functions (such as security administration and server management), as well as a variety of options for remote interprocess communication for the development of distributed processing and collaborative workgroup applications.

However, you don't need to program to the LAN Server APIs to let your program exploit the LAN Server environment. LAN Server provides both local and remote transparency, so applications can be run from redirected drives or can use remote resources as if they were attached to the local workstation.

What's New in 4.0?
LAN Server 4.0 (LS 4.0) extends this story in a number of important ways. It offers improved documentation and sample programs, new APIs, 32-bit entry points, and REXX interfaces. LS 4.0 also provides networked DDE links, as well as clipboard and cut & paste services, so existing OS/2 and Windows applications that provide these functions can share information between machines on the network just like they do on a single machine today.

If you thought programming to LS 3.0 was fun, just wait until you see LS 4.0! The toolkit for LS 4.0 offers an online programmer's guide and reference, sample programs, and all the headers and libraries you need to get started programming to LAN Server. The toolkit is delivered with LS 4.0, and also is available on The Developer Connection for LAN Systems.

Disk Space Limits
LS 4.0 includes a new feature called Disk Space (or DASD) Limits. This features offers administrators the ability to control the amount of space a user can consume in a given shared directory. The advanced server will generate alerts as a user approach es the threshold that has been set for a directory, and when the user reaches the limit for the directory, they will not be able to write any more data. It appears to the user as if the disk is full.

Several new APIs were created to manage this feature:
 * NetDASDAdd invokes the Disk Space Limits function, placing a limit on the amount of disk space that can be used within a shared-directory tree.
 * NetDASDCheck returns the amount of disk space available and the amount already taken in a particular directory tree.
 * NetDASDCtl prepares an HPFS386 drive for Disk Space Limits.
 * NetDASDDel deletes a Disk Space Limits from a specified directory resource.
 * NetDASDEnum returns a list of directories that have had Disk Space Limits applied to them. It returns other related information such as the limit applied to each directory, the space used, and the alert and incremental threshold values for each directory.
 * NetDASDGetInfo retrieves Disk Space Limits information for a specific resource.
 * NetDASDSetInfo sets Disk Space Limits restrictions on a specific directory resource.

Remote IPL
LS 4.0 also adds APIs to allow programmatic management of the Remote IPL (RIPL) function of LAN Server. The following APIs are provided to manage definitions for RIPL workstations:
 * NetCreateRIPLMachine creates a RIPL workstation definition.
 * NetDeleteRIPLMachine</tt> deletes a RIPL workstation definition.
 * NetEnumRIPLMachine</tt> lists RIPL workstations of the specified types on a server.
 * NetGetRIPLMachineInfo</tt> retrieves information about a RIPL workstation.
 * NetSetRIPLMachineInfo</tt> modifies information about a RIPL workstation.

REXX interfaces to these APIs have been created as well:
 * RxNetCreateRIPLMachine</tt>
 * RxNetDeleteRIPLMachine</tt>
 * RxNetEnumRIPLMachine</tt>
 * RxNetGetRIPLMachineInfo</tt>
 * RxNetSetRIPLMachineInfo</tt>

And More...
REXX fans can expect improved REXX support in LS 4.0, including REXX interfaces to nearly all of the LAN Server APIs.

Another new API that was created in LS 4.0 is HPFS386GetInfo</tt>. It offers information about the HPFS386 file system - whether it is running and whether local security is enabled.

LS 4.0 also adds an API called NetAccessApply</tt>. After an access control profile is defined for a directory, the NetAccessApply</tt> API replicates that profile, applying it to all subdirectories under that directory tree, as well as files within the directory tree (if they already have an access-control profile).

Prior to LS 4.0, programmers writing 32-bit applications for LAN Server either had to write their own thunks to call the 16-bit LAN Server APIs or had to use a compiler that generated those thunks for them. LS 4.0 offers new Net32Xxxx</tt> entry points to nearly all of the APIs, so programmers writing 32-bit programs can do so - without being concerned about thunking. Any thunking is performed within the APIs themselves.

Another new feature of LS 4.0 is networked DDE and clipboard for OS/2, WIN-OS/2, and Windows clients. You will now be able to link or perform cut and paste operations between multiple machines on the network for applications written to standard DDE and clipboard interfaces. LS 4.0 includes a graphical user interface for managing these links and for sharing clipboards between machines.

LS 4.0 expands its repertoire of communications options by offering Sockets APIs, Multi-Protocol Transport Services (MPTS) and a TCP/IP protocol stack. It also includes a high-performance implementation of the Netbios for TCP/IP function called TCPBEUI (based on the RFC 1001/1002 standard) to allow Netbios programs to communicate over TCP/IP.

The new interfaces and features of LS 4.0 are only part of the story, though. In addition to the new features we are packing into LAN Server 4.0, IBM is building a set of services to assist developers of applications for LAN Server and other LAN System s products. This includes The Developer Connection for LAN Systems CD-ROM, the Developer's Assistance Program, product certification programs such as Ready! and Tested and Approved, professional training and certification programs, and more. In addition, look to future issues of The Developer Connection News for articles on the practical use of these new APIs and features.