Filename: BTRUNIX.TXT Product: NetWare Btrieve v6.0 Requester for UnixWare Date: June 1993 Forum: NetWire This Readme document pertains to the NetWare Btrieve v6.0 Requester for UnixWare, which is a component of the NetWare Btrieve v6.1 Upgrade. The Btrieve Requester for UnixWare provides UnixWare clients with access to Btrieve data residing on a NetWare Btrieve server. This document describes the Btrieve Requester components and the NetWare and UnixWare environments. ================================================================================ Disclaimer ========== Novell, Inc. makes no representations or warranties with respect to any NetWare software, and specifically disclaims any express or implied warranties of merchantability, title, or fitness for a particular purpose. Distribution of any NetWare software is forbidden without the express written consent of Novell, Inc. Further, Novell reserves the right to discontinue distribution of any NetWare software. Novell is not responsible for lost profits or revenue, loss of use of the software, loss of data, costs of re-creating lost data, the cost of any substitute equipment or program, or claims by any party other than you. Novell strongly recommends a backup be made before any software is installed. Technical support for this software may be provided at the discretion of Novell. ================================================================================ Contents ======== Product Overview C Interface Object File Btrieve Interface Library Communications Interface Library Requester Requirements Using the Requester Archive and Shared-Object Libraries Requester Linking Requester Configuration Options Requester Connection and Termination File Access Btrieve Operations Associated Documents Customer Support ================================================================================ Product Overview ================ The NetWare Btrieve Requester for UnixWare allows a Btrieve client application in a UnixWare environment to access Btrieve data on a NetWare Btrieve server. The Btrieve Requester uses the SPX Transport Layer Interface (TLI) and can establish or disconnect a connection with the Btrieve communications program BSPXCOM. BSPXCOM handles incoming requests to the Btrieve NLM from a remote source. The Btrieve Requester for UnixWare consists of a C interface object file, a set of archive libraries, and a set of shared-object libraries. Each set includes a library for the Btrieve Interface and a library for the Communications Interface. The following figure illustrates how UnixWare clients can access Btrieve data on a NetWare Btrieve server. +-----------------+ | Application | +-----------------+ | ^ v | +----------------------------------+ +-----------+ | C Interface/API | | BSPXCOM | <---+ | (UNXCBTRV.O) | +-----------+ | +----------------------------------+ | ^ | | ^ v | | v | +-----------+ | +----------------------------------+ | Btrieve | | | Btrieve Interface Library | | NLM | | | (LIBBTRV.A or LIBBTRV.SO) | +-----------+ | +----------------------------------+ | ^ | | ^ v | | v | +-----------+ | +----------------------------------+ | NetWare | | | Communications Interface Library | +-----------+ | | (LIBCOMM.A or LIBCOMM.SO) | | +----------------------------------+ | | ^ NetWare Server | v | | +----------------------------------+ | | Transport Library | | | Interface (TLI) | | +----------------------------------+ | | ^ | v | | +-----------------+ +---> | SPX | +-----------------+ UnixWare Client Application Server (AS) or Personal Edition (PE) The following sections describe the Btrieve Requester for UnixWare components. C Interface Object File ----------------------- The C interface object file (UNXCBTRV.O) links a C application and maps a C interface to the Btrieve Requester interface. Btrieve Interface Library ------------------------- The Btrieve Interface Library (LIBBTRV.A or LIBBTRV.SO) processes Btrieve requests, sending requests to and receiving responses from the Communications Interface Library. - LIBBTRV.A Archive Btrieve Interface Library - LIBBTRV.SO Shared-object Btrieve Interface Library Communications Interface Library -------------------------------- The Communications Interface Library (LIBCOMM.A or LIBCOMM.SO) routes Btrieve requests to the specified server where the Btrieve NLM is located. It also receives responses from the NetWare server and returns them to the Btrieve Interface Library. - LIBCOMM.A Archive Communications Interface Library - LIBCOMM.SO Shared-object Communications Interface Library ================================================================================ Requester Requirements ====================== The NetWare Btrieve Requester for UnixWare requires that the following products be used in conjunction with it to enable UnixWare client applications to access Btrieve data on a NetWare server. NetWare Products UnixWare Products ---------------------- ------------------------------------ NetWare v3.11 or v4.0 UnixWare Application Server (AS) or UnixWare Personal Edition (PE) NetWare Btrieve UnixWare Libraries: v5.15, v6.0, or v6.1 LIBNWAPI.SO Shared-object NetWare Unix Client (NUC) API Library LIBNSL.SO Shared-object Network Service Library LIBSOCKET.SO Shared-object Socket Interface Library LIBDL.SO Shared-object Dynamic Link Library ================================================================================ Using the Requester =================== The NetWare Btrieve v6.0 Requester for UnixWare is compatible with NetWare Btrieve v5.15, v6.0, and v6.1. In the case of NetWare Btrieve v6.1, however, the Btrieve v6.0 Requester for UnixWare does not provide full support for Btrieve v6.1 features. Btrieve v6.1 Features Btrieve v6.1 Features Supported Not Supported -------------------------------------- ------------------------------- Index Balancing Multiple Alternate Collating Find Percentage Operation Sequences (ACSs) Get By Percentage Operation No Currency Change STS Data Type Get Direct/Chunk Operation Variable-tail Allocation Tables (VATs) Update Chunk Operation Locale-specific Alternate Collating Sequence This section covers the following topics: - when to use archive and shared-object libraries - how to link the Btrieve Requester - how to configure the Btrieve Requester - how to establish Btrieve Requester connections - how to access files using the Btrieve Requester - which Btrieve operations are affected by the Btrieve Requester Archive and Shared-Object Libraries ----------------------------------- You can use either the archive library set or the shared-object library set. - Use the archive library set (LIBBTRV.A and LIBCOMM.A) if you want to link the libraries with your program at link time. - Use the shared-object library set (LIBBTRV.SO and LIBCOMM.SO) if you want the libraries to be dynamically linked with your program at execution time. Requester Linking ----------------- To use the Btrieve Requester for UnixWare, complete the follwing steps: 1. At the linker command line, link the UNXCBTRV.O file with your program. 2. Link your program with the following libraries (in the order given): LIBBTRV.A or LIBBTRV.SO LIBCOMM.A or LIBCOMM.SO LIBNWAPI.SO LIBNSL.SO LIBSOCKET.SO LIBDL.SO The following example illustrates how to link the Btrieve Requester for UnixWare: cc -c btrget.c cc -o btrget -L/home/mydir/univel/breq -L/home/mydir/univel/comm unxcbtrv.o btrget.o -lbtrv -lcomm -lnwapi -lnsl -lsocket -ldl where: -L/home/mydir/univel/breq Indicates the location of libbtrv.a. -L/home/mydir/univel/comm Indicates the location of libcomm.a. btrget.c Specifies your program file. btrget.o Specifies the object file for btrget.c. NOTE: You can place UNXCBTRV.O in your working directory. However, if you want to place UNXCBTRV.O in another directory, specify the file's location. For shared-object libraries ending with the .SO extension, you need to set the environment variables under the Bourne shell as follows: LD_LIBRARY_PATH=/home/mydir/univel/breq:/home/mydir/univel/comm export LD_LIBRARY_PATH Requester Configuration Options ------------------------------- You do not need to set any configuration options to specify the size of the data message buffers. The Btrieve Requester for UnixWare dynamically expands the data message buffer to pass records between Btrieve and the application. The Btrieve Requester for UnixWare also dynamically expands the Server Router Table that is used for routing the Btrieve requests to the specified server. Requester Connection and Termination ------------------------------------ A UnixWare client can connect to a maximum of 50 servers. The Btrieve Requester for UnixWare automatically terminates all the connections that are left open when an application exits. However, the files that are left open when an application exits remain open until a Btrieve Stop operation is issued. File Access ----------- There are no drive mappings in UnixWare. You must log in to the server and initiate authentication with the server in order to access files or directories on it. You can use the NetWare Access Utility (NAU) to log in to the server. You cannot use relative paths or simple filenames. You must use the full pathname because of the limitation imposed by the NetWare C Interface. Btrieve Operations ------------------ The Btrieve Requester for UnixWare affects the following Btrieve operations: - Get Directory: This operation can return only the current directory. It ignores the logical disk drive specified in the key number parameter. - Set Directory: For this operation, you must specify the path according to the UnixWare pathname specification. ================================================================================ Associated Documents ==================== For detailed information on NetWare Btrieve, refer to the "Btrieve Installation and Operation" manual that was included in the documentation set for the NetWare operating system you are currently using. If you have purchased a Btrieve Developer's Kit or a NetWare Btrieve Developer's Kit Supplement, refer to the "Btrieve Programmer's Manual" that was included in the kit for information about the Btrieve operations. ================================================================================ Customer Support ================ For information about UnixWare-specific problems when using the NetWare Btrieve Requester for UnixWare, contact Univel Developer Support as follows: Fax number: (801) 568-8699 Email: devsup@univel.com **End of BTRUNIX.TXT**