NAME
dtypes.h - include file for RMS data types
SYNOPSIS
#include <cbase/dtypes.h>
DESCRIPTION
This include file contains symbolic definitions for all the data types that are supported by C/Base. It also defines the data type of the value returned by each of the C/Base functions.
CONTENTS
/* @(#)dtypes.h 11.5
RMS Data Types
*/
#ifndef _DTYPES_
#define _DTYPES_
#define CHAR char /* internal character type */
#define STRING char /* internal string type */
#define INT int /* internal integer type */
#define LONG long /* internal long integer type */
#define DATE long /* internal date format */
#define MONEY double /* money expressed in pennies */
#define BOOLEAN char /* true, false values */
#define REAL double /* real data values */
#define TIME long /* internal time format */
/* RMS Data Type Names */
#define NO_TYPE 0 /* none of the below */
#define CHAR_TYPE 1 /* single character type */
#define INT_TYPE 2 /* integer type */
#define REAL_TYPE 3 /* real type */
#define DATE_TYPE 4 /* date type */
#define MONEY_TYPE 5 /* money type */
#define BOOLEAN_TYPE 6 /* boolean type */
#define STRING_TYPE 7 /* character string type */
#define TIME_TYPE 8 /* time type */
#define LONG_TYPE 9 /* long integer type */
#define RS_DTYPES 16395 /* Resource ID of datatype stringlist */
#define FIRST_DT CHAR_TYPE /* first data type */
#define LAST_DT LONG_TYPE /* last data type */
/* Constants */
#define B_FALSE 0 /* boolean false value */
#define B_TRUE 1 /* ..truth value (or anything non-zero) */
/* Limits */
#define DPRECISION 15 /* significant digits in MONEY or REAL */
#define FPRECISION 6 /* significant digits in short MONEY or REAL*/
#define FMAXSNEG -32768L /* maximum negative short integer */
#define FMAXSPOS 32767L /* maximum positive short integer */
#define FMAXLNEG -214748364L /* last negative long before overflow */
#define FMAXLPOS 214748364L /* last positive long before overflow */
#define FLSTLNEG 8 /* last negative long digit */
#define FLSTLPOS 7 /* last positive long digit */
/* NOTE: actual long int range is -2147483648 to 2147483647 */
/* RMS Functions */
DATE addmonth();
char *align();
BOOLEAN atobool();
DATE atodate();
LONG atolong();
MONEY atomoney();
double atoreal();
TIME atotime();
char *booltoa();
char *cbasedir();
char *dalign();
char *datetoa();
int dsizeof();
long dttogmt();
int dttomdy();
char *longtoa();
int escape();
DATE firstday();
char *moneytoa();
DATE mdytodt();
char *realtoa();
double round();
char *subenv();
char *timetoa();
#ifndef RC
#ifndef stdin
#include <stdio.h>
#endif
FILE *fsopen();
#endif
long atol();
double atof();
long lseek();
/* Formatting functions */
int fbooltoa();
int fdatetoa();
int flongtoa();
int fmoneytoa();
int frealtoa();
int ftimetoa();
int fatobool();
int fatodate();
int fatolong();
int fatomoney();
int fatoreal();
int fatotime();
int fcountry();
char *getfbool();
char *getfdate();
char *getfint();
char *getfmoney();
char *getfreal();
#ifndef __IO_H
char *getftime();
#endif
char *getfcurr();
int getfdec();
int getfthou();
char **getfmth();
char **getfamth();
char **getfday();
char **getfaday();
char **getfcycle();
int flen();
#define FNOENTRY -2 /* no entry for given country */
#define FTOOBIG -3 /* formatted result is too big */
#define FFORMAT -4 /* format string is invalid */
#define FEDIT -5 /* input string is invalid */
#define FINCON -6 /* inconsistent data in input string */
#define FIFORMAT -7 /* input not formatted correctly */
#endif /* _DTYPES_ */