home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / clipper / 52capi.zip / EXTEND.API < prev    next >
Text File  |  1993-08-06  |  2KB  |  93 lines

  1. /***
  2. *
  3. *   Extend.api
  4. *
  5. *   C language definitions for Clipper EXTEND system
  6. *
  7. *   Copyright (c) 1987-1993, Computer Associates International, Inc.
  8. *   All rights reserved.
  9. *
  10. *   CA-Clipper uses Microsoft C large model calling conventions
  11. *
  12. */
  13.  
  14.  
  15. #ifndef _EXTEND_API
  16.  
  17.  
  18. #ifndef _CLIPDEFS_H
  19. #include "clipdefs.h"
  20. #endif
  21.  
  22. #ifndef CLIPPERDEFS
  23. typedef double XDOUBLE;
  24. #endif
  25.  
  26. #define UNDEF        0
  27. #define CHARACTER    1
  28. #define NUMERIC      2
  29. #define LOGICAL      4
  30. #define DATE         8
  31. #define ALIAS       16
  32. #define MPTR        32      /* or'ed with type when passed by reference */
  33. #define MEMO        65
  34. #define WORD       128
  35. #define ARRAY      512
  36. #define BLOCK     1024
  37. #define DOUBLE    2048
  38.  
  39. /* parameter count/type */
  40. extern int _parinfo( int );
  41. extern int _parinfa( int, unsigned int );
  42.  
  43.  
  44. /* parameter values */
  45. extern char *       _parc(int, ...);
  46. extern unsigned int _parcsiz(int, ...);
  47. extern unsigned int _parclen(int, ...);
  48. extern int          _parni(int, ...);
  49. extern long         _parnl(int, ...);
  50. extern XDOUBLE      _parnd(int, ...);
  51. extern int          _parl(int, ...);
  52. extern char *       _pards(int, ...);
  53.  
  54.  
  55. /* return a value */
  56. extern void _retc(char far *);
  57. extern void _retclen(char far *, unsigned int);
  58. extern void _retni(int);
  59. extern void _retnl(long);
  60. extern void _retnd(XDOUBLE);
  61. extern void _retl(int);
  62. extern void _retds(char far *);
  63.  
  64. /* return no value (NIL) */
  65. extern void _ret(void);
  66.  
  67.  
  68. /* store values */
  69. int _storc(char far *, int, ...);
  70. int _storclen(char far *, int, ...);
  71. int _storni(int, int, ...);
  72. int _stornl(long, int, ...);
  73. int _stornd(XDOUBLE, int, ...);
  74. int _storl(int, int, ...);
  75. int _stords(char far *, int, ...);
  76.  
  77.  
  78.  
  79. /* parameter check macros */
  80. #define PCOUNT       (_parinfo(0))
  81. #define ISCHAR(n)    (_parinfo(n) & CHARACTER)
  82. #define ISNUM(n)     (_parinfo(n) & NUMERIC)
  83. #define ISLOG(n)     (_parinfo(n) & LOGICAL)
  84. #define ISDATE(n)    (_parinfo(n) & DATE)
  85. #define ISMEMO(n)    (_parinfo(n) & MEMO)
  86. #define ISBYREF(n)   (_parinfo(n) & MPTR)
  87. #define ISARRAY(n)   (_parinfo(n) & ARRAY)
  88. #define ALENGTH(n)   (_parinfa(n, 0))
  89.  
  90.  
  91. #define _EXTEND_API
  92. #endif
  93.