[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
/***
* extend.h
* C language definitions for Clipper EXTEND system.
* Copyright (c) 1987,1988,1989,1990 Nantucket Corp. All rights reserved.
*
* Clipper uses Microsoft C large model calling conventions.
*/
#ifndef CLIPPERDEFS
#define CLIPPER void pascal
#define FALSE 0
#define TRUE 1
#define NIL '\0'
#define NULL 0L
typedef unsigned char byte;
typedef unsigned int quant;
typedef int Boolean;
typedef double XDOUBLE;
#define CLIPPERDEFS
#endif
#define UNDEF 0
#define CHARACTER 1
#define NUMERIC 2
#define LOGICAL 4
#define DATE 8
#define ALIAS 16
#define MPTR 32 /* or'ed with type when passed by reference */
#define MEMO 65
#define WORD 128
#define ARRAY 512
/* parameter count/type */
extern int _parinfo(int);
extern int _parinfa(int, unsigned int);
/* parameter values */
extern char *_parc(int, ...);
extern unsigned int _parcsiz(int, ...);
extern unsigned int _parclen(int, ...);
extern int _parni(int, ...);
extern long _parnl(int, ...);
extern XDOUBLE _parnd(int, ...);
extern int _parl(int, ...);
extern char *_pards(int, ...);
/* return a value */
extern void _retc(char far *);
extern void _retclen(char far *, unsigned int);
extern void _retni(int);
extern void _retnl(long);
extern void _retnd(XDOUBLE);
extern void _retl(int);
extern void _retds(char far *);
/* return no value (NIL) */
extern void _ret(void);
/* store values */
int _storc(char far *, int, ...);
int _storclen(char far *, int, ...);
int _storni(int, int, ...);
int _stornl(long, int, ...);
int _stornd(XDOUBLE, int, ...);
int _storl(int, int, ...);
int _stords(char far *, int, ...);
/***
* Note:
* _xalloc() returns NULL if the request cannot be satisfied
* _xgrab() generates a runtime error if the request cannot be satisfied
*/
/* allocate memory */
extern void far * _xalloc(unsigned int numberOfBytes);
extern void far * _xgrab(unsigned int numberOfBytes);
extern void _xfree(void far *allocatedBlock);
/* S87 compat. */
#define _exmgrab(size) _xgrab(size)
#define _exmback(ptr, size) _xfree(ptr)
/* parameter check macros */
#define PCOUNT (_parinfo(0))
#define ISCHAR(n) (_parinfo(n) & CHARACTER)
#define ISNUM(n) (_parinfo(n) & NUMERIC)
#define ISLOG(n) (_parinfo(n) & LOGICAL)
#define ISDATE(n) (_parinfo(n) & DATE)
#define ISMEMO(n) (_parinfo(n) & MEMO)
#define ISBYREF(n) (_parinfo(n) & MPTR)
#define ISARRAY(n) (_parinfo(n) & ARRAY)
#define ALENGTH(n) (_parinfa(n, 0))
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson