home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / UFUNCOBJ.H < prev    next >
C/C++ Source or Header  |  1990-05-08  |  2KB  |  71 lines

  1. /*
  2.     ufuncobj.h
  3.  
  4.     % header for ufunc bob object class
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1988, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.      Revision History:
  11.     -----------------
  12.     12/11/88 jmd    removed ufd_struct (no longer needed)
  13.     04/23/89 jdc    put the ufuncopen_struct in here
  14.      7/15/89 ted    Converted '_func' prototypes from typedef to macro.
  15.      8/04/89 jdc    added unresolved_func definition
  16.  
  17.     11/21/89 ted    Renamed ufunc xd and od bob kernels from cd to bd.
  18.      3/28/90 jmd    ansi-fied
  19.      5/08/90 jmd    added underscores to func macros for vms compiler
  20. */
  21.  
  22. #define ufunc_func(fname)            int fname(VOID *_sdata, int _idata)
  23. typedef ufunc_func ((*ufunc_fptr));
  24.  
  25. /* UFUNCOBJ.C */
  26. extern class_func    (ufunc_Class);
  27. extern obj_type ufunc_Open(ufunc_fptr ufunc, int idata);
  28.  
  29. /*** Request funcs ***/
  30. extern ufunc_fptr ufunc_unresolved_fptr;
  31.  
  32. /* UFNCLOAD.C */
  33. extern classinit_func    (ufunc_LoadInit);
  34.  
  35. /* UFNCSAVE.C */
  36. extern classinit_func    (ufunc_SaveInit);
  37.  
  38. /*** macros ***/
  39.  
  40. #define    bob_IsUfunc(bob)            obj_Who(bob, ID_UFUNC)
  41.  
  42. /*** Ufunc bob messages ***/
  43. #define UFUNCBM_GETUFUNC    (WINM_LASTMSG + 1)        /* (ufuncopen_struct *) */
  44. #define UFUNCBM_LASTMSG        (WINM_LASTMSG + 2)
  45.  
  46. /* creation data for ufunc bob */
  47.  
  48. typedef struct _ufuncopen {
  49.     
  50.     ufunc_fptr     ufunc;
  51.     int             idata;
  52.     
  53. } ufuncopen_struct;
  54.  
  55. /* The ufunc bob public data structure */
  56.  
  57. typedef struct _ufuncxd {
  58.  
  59.     bob_xd    bd;                    /* bob object xdata */
  60.     int        funcname;            /* function name handle for LNF */
  61.  
  62. } ufunc_xd;
  63.  
  64. #define ufuncbob_GetFuncHandle(bob)        \
  65.         (((ufunc_xd *)bob_getxd(bob))->funcname)
  66.  
  67. #define ufuncbob_SetFuncHandle(bob, h)    \
  68.         (((ufunc_xd *)bob_getxd(bob))->funcname = (h))
  69.  
  70.  
  71.