[ NOTE:  In 2.1 and later, the System V interfaces are a standard part of
  the GENERIC kernel.  You should only need to do the following if you're
  running an older release ]

IMPORTANT: The FreeBSD KERNEL ***MUST*** have System V Interface
communication support.  The options below must be included in your
KERNEL for CONETIC products to run.



# These three options provide support for System V Interface
# Definition-style interprocess communication, in the form of shared
# memory, semaphores, and message queues, respectively.
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG




=============================================================================
| Copyright (C)1981-1995: Conetic Software Systems, Inc.	            |	
| FreeBSD 1.1 Demonstration C/Base(TM) 4GL Development System		    |
| This demonstration version is provided for evaluation purposes. It is     |	
| NOT freeware and may not be resold.  This demonstration set has a limit   |
| of 1000 records per datafile and allows for 2 concurrent users.           |
=============================================================================

INSTALLATION GUIDE - 	FreeBSD 1.1 (and later) SYSTEMS
			C/Base(TM) 4GL Version 3.8


The information in this document is subject to change without notice and should
not be construed as a commitment by Conetic Software Systems, Inc.  Changes may
be made periodically to the information herein.  Such changes will be 
incorporated in future editions of this document.  Conetic Software Systems,
Inc. assumes no responsiblities for any errors that may appear in this document.

The software described in this document is furnished under a license and may 
only be used in accordance with the terms of such license.

Copyright 1995 Conetic Software Systems, Inc. 

Printed in the United States of America

All rights reserved.  No part of this document may be reproduced in any form 
including photostat, microfilm, xerography, and not in information storage and
retrieval system, without the permission in writing from Conetic Software 
Systems, Inc., except by a reviewer who may quote brief passages in a review or
as provided in the Copyright Act of 1976.

UNIX is a registered trademark of AT&T.
C/BASE is a trademark of Conetic Software Systems, Inc.
C/BOOKS is a registered trademark of Conetic Software Systems, Inc.

All names, products, and services mentioned are the trademarks or registered
trademarks of their respective organizations.


Conetic Software Systems, Inc.
1012 Navarro
San Antonio, Texas  78205
(210) 225-5185


=============================================================================

Release 3.8
FreeBSD Edition


Table of Contents


INTRODUCTION


Chapter 1	Before You Begin
	

	1.1 	Creating the Group ID conetic	

	1.2 	Creating the "cbase" Login ID

	1.3 	Creating the "cbase" Home Directory

	1.4 	Setting the Terminal Environment


Chapter 2 	Installation and Setup Procedure	


	2.1 	Distribution Media	

	2.2 	Disk Media Install

	2.3 	FTP File Install	

	2.4 	Uncompress Demonstration Software

	2.5	C/Base Catalog Setup

	2.6	Quick Start	


Chapter 3 	Getting Started	


	3.1 	Mandatory Environment Variables

	3.2 	C/Base Manual Pages (cssman)	


Chapter 4 	Printing


	4.1 	Printer Setup	

		4.1.1 Naming The Printer

		4.1.2 Setting Printer Characteristics	

			4.1.2.1 Setting Page Dimensions 

			4.1.2.2 Setting Printer Modes

	4.2 	Printing With Grace	

	4.3 	Printer Environment Variables	

		4.3.1 ONPRINTER

		4.3.2 PRINTER 

		4.3.3 NCOPIES 


Chapter 5 	Compiling User_Edits	


	5.1 	Environment Variables

	5.2 	Compiler	

	5.3 	Demo Code	

	5.4 	Example Compile Line


Appendix A	


	A.1 	Standard Conetic Environment Variables


Appendix B	


	B.1 	Space Requirements for FreeBSD 1.1


Appendix C


	C.1 	Typical Device Names


Appendix D


	D.1 	C/Base Commands (C-1)


Appendix E


	E.1 	C/Base Functions (C-3)
=============================================================================

INTRODUCTION


Welcome to Conetic Software Systems C/Base 4GL and C/Books family of information
management products.  C/Base 4GL and C/Books applications allow the user to
transcend computer hardware and operating systems boundaries by providing tools
and solutions that offer portability and platform independence.

These instructions describe how to install C/Base using either the diskette
distribution or the FTP download file.  You should be familiar with the basic 
administration of the computer, including logging in, starting and stopping the
system, and adding new users, as described in the Operations/System Administra-
tion Guide and the User/System Administrators Reference Manual.

This demonstration set includes the C/Base database, the C/Base Database 
Utilities and  C/Base  International Utilities. This demo database system 
has a limit of 1000 records per datafile. 

The C/Books software consists of nine fully integrated accounting software 
modules. The core consists of the General Ledger, Accounts Payable, and Accounts
Receivable  modules. The optional accounting modules are: Fixed Assets, 
Inventory Control, Job Costing, Order Entry, Purchase Order, and Payroll. 
C/Books also has two supplemental modules: C/Books Utilities and a Demonstration
Module which includes demo data for the C/Books data files. C/Books is not part 
of this demo set. Please contact Conetic Software Systems, Inc. for more 
information on C/Books.

NOTE: Be sure to pay close attention to the Notes and Warnings given throughout
these instructions. They will give information we think is vital to a successful
installation of Conetics software.

Disk Space Requirements 

Before installing this software, you should verify that you have enough free 
disk space on the file system which will contain C/Base. Free disk space 
can be displayed using the df(1) command. Compare the output of this command 
with the space requirement table for your platform in Appendix B.

NOTE: You will initially need twice the amount of space shown in Appendix B 
for both the installation and the tar file. After installation is complete, 
the tar file may be removed.

Pre-Installation Considerations

If C/Base software already exists on the target CPU then do the following:

Make sure that no C/Base or C/Books programs are running before continuing.
Back up existing C/Base and C/Books programs and datafiles prior to 
installation. The installation could replace existing files.
=============================================================================

1. Before You Begin


This section describes the preliminary setup of your machine before the actual 
install program is run. 
	
Be sure to pay close attention to Notes and Warnings given throughout these 
instructions. They give information that is vital to a successful installation 
of the software.

In order to install correctly you must login on the console terminal as root.

			Login: root 
			Password: Enter your password, it will not be displayed
  
			Some additional login dialog may be displayed


1.1 Creating The Group ID Conetic 

 
Create a new group ID account named conetic. To create a new group account, 
follow the procedure outlined in your Operations/System Administration Guide. 


1.2 Creating The "cbase" Login ID 


Create a new login ID called "cbase". When creating the login ID "cbase", the
group ID entry for the user "cbase" must correspond to the conetic group ID
number created in step 1.1.  The cbase user must run under either bash or 
sh shell environments (see section 1.4). To create the "cbase" login ID, 
follow the procedure given in your Operations/System Administration Guide.


1.3 Creating The "cbase" Home Directory 


Make a home directory for the "cbase" login ID, changing the owner and group ID
of the directory to "cbase" and conetic. 

NOTE: If you created the new user following the procedure outlined in your 
Administrators Guide, the home directory for the user "cbase" may have already
been created. It is the responsibility of the system administrator to ensure a 
directory has been created for the user "cbase" with the correct ownerships.



1.4 SHELL Environment


C/Base will run under either the bash or sh shell environments. The menu and 
report programs use the environment variable SHELL to execute other programs.
If the SHELL environment variable is not set, the default is set to /bin/sh. 
The SHELL variable can be set as follows:

	
		SHELL=/bin/sh
		export SHELL



1.5 Setting the Terminal Environment


You must set the TERM environment variables before running the install program.

		Partial Supported Terminal Listing:
		wyse50		tvi925		605		xterm
		vt100		tvi970		4410
		5410		4425		console	

			# TERM=terminaltype
			# export TERM

Note: The typical FreeBSD terminal is automatically set.
=============================================================================

2. Install and Setup Procedure


2.1 Distribution Media


The following instructions describe how to install from either a diskette dist-
ribution or from an FTP download file . The unzip of the files is the same for 
both types of distribution (step 2.4).  If you are using the diskette distribu-
tion please proceed to Section 2.2. If you are using the FTP distribution see 
Section 2.3.


2.2 Disk Media Install


Insert distribution disk #1 into the disk drive and enter the following:

			# cd /home/cbase        /* example dir only */ 
			# tar -M -xf /dev/rfd0


The tar command will prompt you for each disk in order and will build a gzipped 
tar file.

NOTE: The directory you install to may be different than the above, this is for 
example only.
 
NOTE: The floppy drive device name may differ on your machine. Please make the 
appropriate changes to the instructions.  See Appendix C for example device 
names.

Please proceed to Section 2.4 for setup instructions.


2.3 FTP File Install


Download the files README(this file) and CBASE_fbsd_r003.tar.gz . Place these
files in the directory that you will install C/Base. Please proceed to 
Section 2.4 for setup instructions.  


2.4 Uncompress the Conetic C/Base Demonstration Software


From the directory where C/Base will be installed, please enter the 
following commands: 


			# umask 000
			# gzip -d ./CBASE_fbsd_r003.tar.gz
 			/* this will process for a few minutes */
			# tar -xf ./CBASE_fbsd_r003.tar


2.5 C/Base Catalog Setup


The C/Base database catalog must be setup to look to the directory you 
installed to. The following command will handle all necessary setups and
build a startup file called cbase_env (see section 2.6). Login as root (or 
become superuser) and enter the following command from the C/Base directory:

			# install.me



2.6 C/Base Quick Start


With C/Base now installed you may logout of root and login as a C/Base user.
The install.me script will create a file called cbase_env in the C/Base home
directory. The cbase_env script will set the mandatory environment variables
required for C/Base (see section 3.1). The script must be run as follows:

			
			$ . ./cbase_env


Please Note: You must be in either bash or sh shell environment to run the 
cbase_env script.


You may now begin the magazine demo with the command:

			
			$ start demo


You can modify the magazine demo with the command:


			$ toolkit demo


or create your own application with the command:


			$ toolkit my_app


You can examine and modify C/Base system parameters with the command command:


			$ start cbase 


Please see the C/Base reference manual for more details. 
=============================================================================

3. Getting Started


This section describes the environment variables that must be set for C/Base
to operate correctly and also explains how to start the demo applications. 

3.1 Mandatory Environment Variables 

You must set the TERM, CBASE, PATH, TMPDIR and PRINTER environment variables 
before running any C/Base or C/Books programs. The next steps describe the 
commands to set these variables. You should add the commands to the /home/cbase/
.profile and the .profile in the home directory of each C/Base user so these
steps need not be repeated each time you log in.


Set the TERM environment variable to the correct terminal type. See the 
/home/cbase/lib/cbase/escape directory for all available terminal types.
	

			$ TERM=terminaltype
			$ export TERM


NOTE:  The C/Base package includes definitions for several popular 
terminals. If your terminal is not on the list, you must define it with the 
C/Base program termset or, it must be defined with the terminfo utilities.


Set the CBASE environment variable.


 			$ CBASE=/home/cbase/lib/cbase
			$ export CBASE


If installing  C/Base, set the PATH environment variable to search the 
cbase program directory.


			$ PATH=/home/cbase/bin:$PATH
			$ export PATH


Set the TMPDIR environment variable.


 			$ TMPDIR=$HOME
			$ export TMPDIR 


Each user must have a unique TMPDIR work area. This can be achieved by setting 
TMPDIR=$HOME .

Set the PRINTER environment variable to the command or filename where printed 
output is to be redirected. The default print spooler for the C/Base 
software is lp. To override the default print spooler, enter :


			$ PRINTER=spooler-command
			$ export PRINTER 


For example, if you want printed output to go to the lpr print spooler, enter:


			$ PRINTER=lpr
			$ export PRINTER


If you have finished installing Conetic C/Base  software onto your computer 
system and you have installed the C/Base Development System, there is a 
demonstration application called demo that you (logged in as cbase) can run as 
follows:


			$ start demo


You can examine and modify it with the following command:


			$ toolkit demo



3.2 C/Base Manual Pages (cssman)	


C/Base now supports on-line manual pages. The man pages are initiated by 
the command:


			$ cssman command 


If the command topic is omitted, then cssman will display a table of contents
of all commands. An information bar at the bottom of the manual screen displays
paging options and exit commands. See Appendix D and E for a list of commands
and functions.
=============================================================================

4. Printing 

This section describes how to setup printers and print C/Base reports with 
the grace program. The grace program is used to run C/Base reports and will
give options on where to send the output of the reports.


4.1 Printer Setup

An unlimited number of printers may be setup in C/Base. The printer setup 
utility can be run from the C/Base catalog menu.


			$ start cbase 
			/* menu selection: E6 - Printer Setup Utility  */



The printer setup utility can also be accessed from the toolkit menu.


			$ toolkit demo 
			/* menu selection: 7 - Printer Setup */


Note: All applications use the same printer file. You do not need to setup
printers for each application.
   

4.1.1 Naming The Printer

The printer setup utility form will allow you to select a unique id number for
each printer (27, 1150, etc) , a name for that printer (Apple1, MyPrinter, etc), 
a device or spooler for that printer, and a reset escape sequence (See 
section 4.1.2.1 for entering escape sequences). The reset escape sequence is 
used to restore the printer back to its original printing mode. If you print a 
report in compressed mode without resetting the printer, all documents printed
afterwards will be in compressed mode.


4.1.2 Setting Printer Characteristics	

After the printer has been named press F5 to store it. Each named printer can 
have up to 5 different printing attributes.  For each of the 5 attributes you
can set page dimensions and printing modes (compressed, landscape, etc).


4.1.2.1 Setting Page Dimensions 

There are 4 dimensions for a page: 

	pagelength -	The page length is the total number of lines that can
			be printed per page. Default=66 lines.	 

	pagewidth  - 	The page width is the total number of characters per
			line. Default=132 chars..

	firstline  -	The firstline number indicates the line on which to
			begin printing on. Please note that the first line is
			reserved for invisible printer codes, therefore the
			firstline number MUST be greater than one. Default=2.

	lastline   - 	The lastline indicates the last line of print before
			going to the next page. The value must be less than the
			pagelength. Default=64.

The defaults are automatically set in the printer setup form and may be manually
overridden.
 

4.1.2.2 Setting Printer Modes

Printing modes are controlled through the use of escape sequences which can be
found in your printer manual. Enter a meaningful name for the sequence and
then enter the escape sequence itself. The escape sequence can be entered in
two ways: 


1)  As characters where the escape character "^[" is represented by "ESC".


	example: The LaserJet manual says the landscape escape sequence is
	"^[&l1O" (no quotes). You would enter "ESC&l1O" (no quotes) into the
	escape sequence field.


2)  Or as eqivalent decimal numbers for each character where the escape
    character "^[" is represented by 27.


	example: The LaserJet manual says the landscape escape sequence is
	"^[&l1O" (no quotes). You would enter "27 38 108 49 79" (no quotes) into
 	the escape sequence field.


Before entering this form you will be asked which method to use. The escape
sequences are translated through the form. Therefore, if you enter the
escape sequences as characters the first time through and decide to later 
update them as decimal numbers, just select the appropriate method and your
previous entries are displayed accordingly. 
    
Note: It is not mandatory that escape sequences be setup. You may print to a 
printer by just completing the first half of the this setup.


4.2 Printing With Grace

The C/Base program grace is used to print reports. After grace processes the 
report (and ONPRINTER is not set or is set to "no") it will display an output 
destination screen.  

The first field of the output destination screen is the output device. Pressing
the F3 key will scroll forward through the options and the F2 key will scroll
backwards. There are three output destination options:  


	Printer -	send output to a printer. Selecting this destination
			will activate the printer name field and the escape
			sequence field. Enter the number of copies you want to
			print, default=1. From the printer name field you may
			use F3 and F2 to scroll forward and back through the
			available printers (created in the printer setup utility
			section 4.1). After selecting a printer you may select
			an escape sequence number to print with, 
			default=sequence 1. The field file name is ignored.  


	Screen - 	send output to the screen. Selecting this destination
			will send the report to the screen where you can scroll
			up, down right, or left through it. All other fields in
			the output destination screen are ignored.   


	File   -  	send output to a file. Selecting this destination
			will send the report to a file. Enter the name of the 
			destination file in the filename field. You may select
			to send more than one copy to the file in the number of
			copies field, default=1. All other fields are ignored.  



4.3 Printer Environment Variables

The following environment variables are used to control printing:     


4.3.1 ONPRINTER=yes/no

This variable, if set to "yes", will cause grace not to give any printing 
options and send the output directly to the printer designated by $PRINTER
(see section 4.3.2) or if $PRINTER is not set, to the default printer lpr. If
this variable is set to "no" or not set at all, then grace will display an
output destination screen.


4.3.2 PRINTER="printer_name"

This variable designates an output destination. The printer_name may be a 
spooler, a printer device, or even a file name.  This variable is overridden
if a different printer is selected through the grace output destination screen.   


4.3.3 NCOPIES=integer

This variable designates the number of copies of a report required. It is an
integer number i.e. 1, 2, 3, etc. . Selecting a different number of copies
from the grace output destination screen will override this variable. 
=============================================================================

5. Compiling User_Edits


This section describes how to compile a demonstration program which will 
interact with a C/Base form. The cssman pages describe the functions available
in the C/Base library. For a more detailed description of the functions see the
C/Base Utilities manual.


5.1 Environment Variables 

The following environment variables must be set for the C/Base makefiles

			INC=/home/cbase/include
			LIB=/home/cbase/lib
			LOCALCFLAGS=-I/home/cbase/include
			LOCALLFLAGS=-L/home/cbase/lib 
			TERMLIB=-ltermcap

Note: The directory "/home/cbase" is used as an example of the C/Base home
directory and may be different on your system. Please make changes to these
directions accordingly. 

Note: These variables were placed in the script file "cbase_env" in the C/Base
home directory when the demo was installed.


5.2 Compiler


The binaries and library was compiled using the GNU project C compiler Ver 2.4.



5.3 Demo Code


An example of a C/Base user edit is in the directory /home/cbase/demo/src. The 
file is named sform.c and is part of the magazine subsciption application. 
With the above environment variables set, the code can be compiled by the 
command:

				make sform

The resulting binary is placed in /home/cbase/demo/bin and is run from the
Magazine Demo menu when option "2. Enter Subscriptions" is selected. 


5.4 Example Compile Line


The demo user_edit /home/cbase/demo/src/sform.c and all other C/Base programs 
can be compiled manually with the following lines:


	cc -c -I/home/cbase/include sform.c -o sform.o  
	cc -L/home/cbase/lib sform.o -lcbase -ltermcap \
	-lm -o /home/cbase/bin/sform 
=============================================================================

Appendix A


A.1 Standard Conetic Environment Variables


Variable Name		Function

CBASE		The location for the C/Base catalog files,
		i.e. CBASE=/home/cbase/lib/cbase

COUNTRY		The variable which contains the name of a country, used to 
		change Conetic language resource files, i.e.COUNTRY=39. This
		will set the language resources to Italian.  

DBASE		The name of the database being presently utilized, 
		i.e.DBASE=demo .

DBHOME		The home directory of database.

NCOPIES		The number of copies of a report to be printed usually set by 
		the program GRACE , i.e. NCOPIES=1 .

ONPRINTER	A boolean flag to determine whether reports go to the printer or		not, usually set by GRACE.EXE, i.e. ONPRINTER=yes.

PATH		The path to the directories which contain the Conetics 
		executable programs.

PRINTER		The name of a printer to send a report file.

RPATH		The path to the directory which contains the Conetic resource 
		files, overrides the CBASE variable, 
		i.e.	RPATH=/USR/CBASE/LIB/CBASE/RESOURCE .

TERM		The name of a terminal type used by Conetics programs running 
		under FreeBSD, 
		i.e. TERM=console, TERM=xterm, etc..

TMPDIR		The location of an existing directory which will hold temporary 
		files. Each user must have a unique TMPDIR work area. This can
 		be achieved by setting TMPDIR=$HOME .  
=============================================================================

Appendix B

B.1 Space Requirements for FreeBSD 1.1 

	
			C/Base & C/Books Modules
			Approximate Space Requirements
				 	
	Module Description			Disk Space (MB)
	
	
	C/Base Development DEMO System		9 MB	
=============================================================================

Appendix C


C.1 Typical Device Names 

	
Platform		Device 			Device Name

FreeBSD 1.1		3.5" Floppy Drive	/dev/fd0
						/dev/fd0H1440 
						/dev/fd1


Note: The first number in the device name usually indicates the order of that 
device in your system configuration. For example, the 3.5" floppy diskette 
device name /dev/fd0 assumes that the 3.5" floppy drive is setup as device 0. 
If your system has that device setup in a different order, say device 1, you 
would access it with the name /dev/fd1.  
=============================================================================

Appendix D


D.1 C/Base Commands (C-1)


intro		introduction to commands
addlf		add a logical RMSfile to the database catalog
cdef		build a definition for a data file
cdict		build a data dictionary for an RMSfile
cform		build a formfile
clearlf		clear contents in an existing RMSfile
convertlf	convert an existing RMSfile
convform	reformat old style formfile
copies		produce multiple copies
createlf	create a logical RMSfile
creport		build a Visual Reportfile
crw		compile report writer program
csort		sort pull style text lines
cterm		build a terminal definition
dbadd		add a database definition
dbadmin		administer database catalog
dbcreate	create a new database
dbfile		print pathname of logical RMSfile
dbhome		print database home directory
dblist		list database catalog
dbremove	remove a database definition
dbrm		completely remove a database
dbupd		update the database catalog
dcopy		copy RMSfile
deletelf	remove an existing RMSfile
dprint		print the contents of an RMSfile
drestore	restore a database
dspace		compute space required for RMSfile
escape		generate terminal escape sequence
expandl		expand an RMSfile
filedef		create or maintain RMS definition files
form		display input form on terminal, accept input
formadmin	administer formfile catalog
formcopy	copy logical formfile
formdef		create and maintain formfiles used by form
formedit	create or maintain logical formfiles
formrm		remove a logical formfile
formupd		update the logical formfile catalog
grace		run a report writer program
lfadmin		administer RMSfile catalog
lfcopy		copy logical RMS data and definition file
lfedit		create or maintain logical RMSfile definitions
lfrm		remove a logical RMS data and definition file
lfupd		update the logical RMSfile catalog
makelf		make an RMSfile
makelog		make empty log file
menu		display menu on terminal
menudef		create or maintain menufiles used by menu
npull		a fast data record extraction utility (uses indexes)
pdef		print contents of RMS definition
pdict		print data dictionary for RMSfile
pform		print contents of formfile used by form
pindex		print contents of RMS index file
plog		print log file contents
preport		print contents of a visual reportfile
prtset		set up a printer to use with grace
pterm		print terminal characteristics
pull		pull records from an RMSfile
put		put text data into RMSfile
rbldidx		rebuild RMS index file
removelf	remove a logical RMSfile catalog entry
rmsck		check RMSfiles for consistency
rptadmin	administer reportfile catalog
rptcopy		copy logical reportfile
rptedit		create or maintain logical reportfiles
rptrm		remove a logical report
rptupd		update the logical reportfile catalog
shash		computer statistics about a hashed RMSfile
sindex		print summary of RMS index file usage
start		start an application system
table		load data into a row and column matrix
termset		set terminal characteristics
toolkit		create or maintain an application system
touch		creates a zero byte data file (used for transaction logging)
wtr		interpret a compiled reportfile
wtrdef		create and maintain visual reportfiles
=============================================================================

Appendix E


E.1 C/Base Functions (C-3)


intro		introduction to library functions
abspath		return absolute pathname of a file
addmonth	add months to DATE value
align		align address to data boundary
ask		ask parameter from terminal
atobool		convert ASCII to BOOLEAN value
atodate		convert ASCII to date value
atolong		convert ASCII to LONG value
atomoney	convert ASCII to MONEY value
atoreal		convert ASCII to REAL value
atotime		convert ASCII to time value
atoval		convert ASCII string to value
booltoa		convert BOOLEAN value to ASCII
clrb		perform byte operations
cmpb		perform byte operations
movb		perform byte operations
filb		perform byte operations	
cbasedir	return name of C/Base administrative directory
creattemp	create a temporary file
dalign		align address to data boundary
datetoa		convert DATE to ASCII
dbfind		get named database description
dbfindn		get nth database description
dblist		set up user record fields
dbopen		open default database
dbparse		parse logical name
dbpath		return full path of logical name
dclock		lock/unlock current data record for exclusive use
dclockw		lock/unlock current data record for exclusive use
dcunlock	lock/unlock current data record for exclusive use
dclose		close RMSfile
ddelete		delete current record
derror		describe last I/O error	
derrmsg		describe last I/O error
dfind		find first active record in RMSfile
dfindfi		find first record in secondary index
dfindi		find first record using secondary index
dfindk		find record with given primary key
dfindl		find last active record in RMSfile
dfindli		find last record in secondary index
dfindlk		find last record with given primary key
dfindlm		find last matching record using secondary index
dfindm		find first matching record using secondary index
dfindn		find next active record
dfindni		find next record using secondary index
dfindnk		find next record with same key
dfindnm		find next matching record using secondary index
dfindp		find previous active record
dfindpi		find previous record using secondary index
dfindpk		find previous record with same key
dfindpm		find previous matching record using secondary index
dflock		lock/unlock an RMSfile for exclusive use
dflockw		lock/unlock an RMSfile for exclusive use
dfunlock	lock/unlock an RMSfile for exclusive use
dilock		lock/unlock RMSfile for inserting records
dilockw		lock/unlock RMSfile for inserting records
diunlock	lock/unlock RMSfile for inserting records
dinsert		insert keyed record
dlbegin		log beginning of transaction
dlcancel	log cancelled transaction
dlclear		log clearing of logical RMSfile
dlcommit	log committed transaction
dlconv		log conversion of logical RMSfile
dldelete	log deletion of logical RMSfile
dlend		log end of transaction
dlexpand	log expansion of logical RMSfile
dlfind		get named logical RMSfile description
dlfindn		get nth logical RMSfile description
dlmake		log creation of logical RMSfile
dloff		turn off transaction logging
dlon		turn on transaction logging
dlopen		open a logical RMSfile
dnrec		return number of allocated records
dnumidx		set significant fields for index query
dopen		open RMSfile
dread		read record using record number
dreadc		read the current record
dresiz		return RMSfile record size
drlist		set up user record fields
drlock		lock/unlock a data record for exclusive use
drlockw		lock/unlock a data record for exclusive use
drunlock	lock/unlock a data record for exclusive use
dseti		set secondary index for RMSfile searching
dsetpos		set position in secondary index
dsizeof		return size of RMS data type
dtacces		return file access method
dtclose		close RMS dictionary file
dtdict		return RMSfile dictionary pointer
dtefld		find effective dictionary field number
dtefldn		find effective field number of nth field in dictionary
dtfind		find dictionary field
dtfindi		find field names in secondary index
dtfindk		find field numbers in secondary index
dtfindn		find nth field in dictionary
dtopen		open RMS dictionary file for I/O
dttogmt		convert DATE, TIME pair into operating system GMT time
dttomdy		convert DATE to month, day, and year
dupdate		update current record
dwrite		write record using record number
escape		send and receive terminal escape sequences
getkey		send and receive terminal escape sequences
escin		send and receive terminal escape sequences
escout		send and receive terminal escape sequences
fatobool	convert ASCII to BOOLEAN value
fatodate	convert ASCII to date value
fatolong	convert ASCII to LONG value
fatomoney	convert ASCII to MONEY value
fatoreal	convert ASCII to REAL value
fatotime	convert ASCII to time value
fbooltoa	format BOOLEAN value to ASCII
fcountry	establish Country format structure
fdatetoa	format DATE to ASCII
firstday	return first day of the month for any date
flongtoa	format LONG to ASCII
fmoneytoa	format MONEY to ASCII
form		display and collect data from data entry form
frealtoa	format REAL to ASCII
ftimetoa	format TIME value to ASCII equivalent
ftnirps		string formatter
getfaday	get abbreviated days of week names
getfamth	get abbreviated month names
getfbool	get format of BOOLEAN values
getfcurr	get currency symbol string
getfcycle	get time cycle names
getfdate	get format for DATE values
getfday		get days of week names
getfdec		get decimal separator character
getfint		get format for INT values
getfmoney	get format for MONEY values
getfmth		get month names
getforder	get input date order
getfplac	get number of decimal places in MONEY
getfreal	get format for REAL values
getfthou	get thousands separator character
getftime	get format for TIME values
gmttodt		convert operating system GMT time to RMS DATE and TIME
longtoa		convert LONG to ASCII
mdytodt		convert month, day, year to date value
moneytoa	convert MONEY to ASCII
realtoa		convert REAL to ASCII
round		round floating point value
sdatafile	return the RMSfile name
sdebug		display debugging information on the screen
seditname	return edit name of a field
sfldname	return field name of a field
sformname	return name of current form
sformno		return current form number
showtext	display help file text on terminal
smode		return the current form mode
snextfld	set next field to process
snextform	set next form for data entry
snextkey	insert a key into the input key queue
sputerr		put error message on screen
sread		read contents of data field
srecno		return current record number
srefresh	refresh the screen
strdup		return duplicate copy of string
strbcmp		perform string operations
strbcpy		perform string operations
strzcpy		perform string operations
strpbrk		return first (last) occurrence in string of character in set
strppbrk	return first (last) occurrence in string of character in set
subenv		substitute environment names in string
svalform	set next validation form for data
swrite		write string to screen field
termparm	return terminal characteristics
timetoa		convert TIME value to ASCII equivalent
ttyinit		initalize and restore terminal for I/O
ttyrestore	initalize and restore terminal for I/O
erasechar	initalize and restore terminal for I/O
killchar	initalize and restore terminal for I/O
valtoa		convert value to ASCII string