DTYPES.H C-5

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_ */