home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QBasic & Borland Pascal & C
/
Delphi5.iso
/
C
/
Samples
/
CSAPE32.ARJ
/
INCLUDE
/
UFUNCOBJ.H
< prev
next >
Wrap
C/C++ Source or Header
|
1990-05-08
|
2KB
|
71 lines
/*
ufuncobj.h
% header for ufunc bob object class
C-scape 3.2
Copyright (c) 1988, by Oakland Group, Inc.
ALL RIGHTS RESERVED.
Revision History:
-----------------
12/11/88 jmd removed ufd_struct (no longer needed)
04/23/89 jdc put the ufuncopen_struct in here
7/15/89 ted Converted '_func' prototypes from typedef to macro.
8/04/89 jdc added unresolved_func definition
11/21/89 ted Renamed ufunc xd and od bob kernels from cd to bd.
3/28/90 jmd ansi-fied
5/08/90 jmd added underscores to func macros for vms compiler
*/
#define ufunc_func(fname) int fname(VOID *_sdata, int _idata)
typedef ufunc_func ((*ufunc_fptr));
/* UFUNCOBJ.C */
extern class_func (ufunc_Class);
extern obj_type ufunc_Open(ufunc_fptr ufunc, int idata);
/*** Request funcs ***/
extern ufunc_fptr ufunc_unresolved_fptr;
/* UFNCLOAD.C */
extern classinit_func (ufunc_LoadInit);
/* UFNCSAVE.C */
extern classinit_func (ufunc_SaveInit);
/*** macros ***/
#define bob_IsUfunc(bob) obj_Who(bob, ID_UFUNC)
/*** Ufunc bob messages ***/
#define UFUNCBM_GETUFUNC (WINM_LASTMSG + 1) /* (ufuncopen_struct *) */
#define UFUNCBM_LASTMSG (WINM_LASTMSG + 2)
/* creation data for ufunc bob */
typedef struct _ufuncopen {
ufunc_fptr ufunc;
int idata;
} ufuncopen_struct;
/* The ufunc bob public data structure */
typedef struct _ufuncxd {
bob_xd bd; /* bob object xdata */
int funcname; /* function name handle for LNF */
} ufunc_xd;
#define ufuncbob_GetFuncHandle(bob) \
(((ufunc_xd *)bob_getxd(bob))->funcname)
#define ufuncbob_SetFuncHandle(bob, h) \
(((ufunc_xd *)bob_getxd(bob))->funcname = (h))