home *** CD-ROM | disk | FTP | other *** search
- /*
- 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))
-
-
-