home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / felixcad / fcaddata.z / FDT.H < prev    next >
C/C++ Source or Header  |  1997-11-13  |  20KB  |  429 lines

  1. /****************************************************************************
  2.                 (C) FELIX Computer Aided Technologies GmbH 1995-96
  3.  
  4. Module:         Data type definitions and function prototypes for FDT
  5. File:           fdt.h
  6. Author:         R. Nuernberger
  7. Created:        Oct. 18, 1993
  8. Changed:        
  9. ****************************************************************************/
  10.  
  11. #ifndef _fdt_h
  12. #define _fdt_h
  13.  
  14. #include "fdt_type.h"
  15. #include "fdtcodes.h"
  16. #include <time.h>
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /* Byte Alignment 2 */
  23. #pragma pack(2)
  24.  
  25. /* Useful definitions */
  26. #ifndef TRUE
  27. #define TRUE 1
  28. #endif
  29.  
  30. #ifndef FALSE
  31. #define FALSE 0
  32. #endif
  33.  
  34. #ifdef _WIN32
  35. #define FDT_DLLEXPORT __declspec(dllexport)
  36. #define EXPORT
  37. #else
  38. #define FDT_DLLEXPORT
  39. #define EXPORT        __far __pascal __export
  40. #endif 
  41.  
  42. #ifndef FDT_KERNEL
  43.  
  44. /* DLL-Entry-Procedure Macro */
  45. #ifdef _WIN32
  46. #define FDT_INIT \
  47. BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) \
  48. { \
  49.  switch (dwReason) \
  50.  { \
  51.   case DLL_PROCESS_ATTACH:  break;\
  52.   case DLL_PROCESS_DETACH:  break;\
  53.   default:                  break;\
  54.  } \
  55.  return(TRUE);\
  56. }
  57.  
  58. #else
  59. #define FDT_INIT \
  60. int EXPORT LibMain(HINSTANCE hInstance, WORD wDataSeg, WORD cbHeapSize, LPSTR lpszCmdLine) \
  61. { \
  62.  return(TRUE); \
  63. } \
  64. int FAR PASCAL WEP(int nParam) \
  65. {  \
  66.  return(TRUE); \
  67. }
  68. #endif
  69.  
  70. #define MAX_FLX 4  /* 0 ... 3 */
  71. #define MAX_VIEW 4 /* 0 ... 3 */
  72.  
  73. #endif /* #ifndef FDT_KERNEL */
  74.  
  75. typedef enum {
  76.     DB_HEAD,                              /* First entity in drawing database */
  77.     DB_END,                               /* Last entity in drawing database */
  78.     DB_NEXT,                              /* Next entity in drawing database */
  79.     DB_BEFORE,                            /* Previous entity in drawing database */
  80.     DB_CURRENT                            /* Current entity in drawing database */
  81. } fdt_pos;
  82.  
  83. typedef struct tablet_rec {
  84.  char   szMacro[133]; 
  85.  char   szTabSectionID[133];
  86.  char   szTabMenuID[133];
  87.  short  TabRow;
  88.  short  TabColumn;
  89. } fdt_tablet_rec;
  90.  
  91. typedef struct fdt_flx_info {
  92.     time_t      First_Date;
  93.     time_t      Save_Date;
  94.     char        szProjName[32];
  95.     char        szDrNumber[32];
  96.     char        szDrName[32];
  97.     char        szDraftsman[32];
  98.     char        szBem1[32];
  99.     char        szBem2[32];
  100.     char        szBem3[32];
  101. } FDT_FLX_INFO;
  102.  
  103. /* Prototypes for application control */
  104. FDT_DLLEXPORT int             EXPORT fdt_app_init(void);
  105. FDT_DLLEXPORT int             EXPORT fdt_app_exit(void);
  106. FDT_DLLEXPORT int             EXPORT fdt_register(const char *, const char *);
  107. FDT_DLLEXPORT int             EXPORT fdt_register_param(const char *, const char *, unsigned long);
  108.  
  109. /* Interface to retrieve arguments from LISP or from command level */
  110. FDT_DLLEXPORT int             EXPORT fdt_xload(char *);
  111. FDT_DLLEXPORT int             EXPORT fdt_xunload(char *);
  112. FDT_DLLEXPORT struct resbuf * EXPORT fdt_getargs(void);
  113. FDT_DLLEXPORT int             EXPORT fdt_retint(int);
  114. FDT_DLLEXPORT int             EXPORT fdt_retreal(fdt_real);
  115. FDT_DLLEXPORT int             EXPORT fdt_retpoint(const fdt_point);
  116. FDT_DLLEXPORT int             EXPORT fdt_retnil(void);
  117. FDT_DLLEXPORT int             EXPORT fdt_rett(void);
  118. FDT_DLLEXPORT int             EXPORT fdt_retvoid(void);
  119. FDT_DLLEXPORT int             EXPORT fdt_retstr(const char *);
  120. FDT_DLLEXPORT int             EXPORT fdt_retname(const fdt_name);  
  121. FDT_DLLEXPORT int             EXPORT fdt_retlist(const struct resbuf *); 
  122. FDT_DLLEXPORT int             EXPORT fdt_retval(const struct resbuf *);
  123. FDT_DLLEXPORT int             EXPORT fdt_invoke(const struct resbuf *, struct resbuf **);
  124. FDT_DLLEXPORT struct resbuf * EXPORT fdt_loaded(void);
  125.  
  126. /* Get or set LISP symbol */
  127. FDT_DLLEXPORT int             EXPORT fdt_getsym(const char *, struct resbuf **);
  128. FDT_DLLEXPORT int             EXPORT fdt_putsym(const char *, struct resbuf *);
  129.  
  130. /* Display Alert dialog, Print error message */
  131. FDT_DLLEXPORT int             EXPORT fdt_alert (const char *);
  132. FDT_DLLEXPORT void            EXPORT fdt_fail(const char *);
  133.  
  134. /* Generate a result buffer element */
  135.  
  136. #ifdef _WIN32
  137. FDT_DLLEXPORT struct resbuf * fdt_buildlist(int ,...);
  138. #else
  139. struct resbuf *               _export _loadds _far _cdecl fdt_buildlist(int ,...);
  140. #endif
  141.  
  142. FDT_DLLEXPORT struct resbuf * EXPORT fdt_newrb(int); 
  143. FDT_DLLEXPORT int             EXPORT fdt_copyresbuf(const struct resbuf * ,struct resbuf **);
  144.  
  145. /* Release a result buffer and all associated elements */
  146. FDT_DLLEXPORT int             EXPORT fdt_relrb(struct resbuf *);
  147.  
  148. /* Execution of FCAD commands */
  149. #ifdef _WIN32
  150. FDT_DLLEXPORT int             fdt_command(int, ...);
  151. #else
  152. int                           _export _loadds _far _cdecl fdt_command(int , ...);
  153. #endif
  154.  
  155. FDT_DLLEXPORT int             EXPORT fdt_cmd(const struct resbuf *);
  156.  
  157. /* Re-activate or de-activate FCAD command */ 
  158. FDT_DLLEXPORT int             EXPORT fdt_actcmd(char *);
  159. FDT_DLLEXPORT int             EXPORT fdt_delcmd(char *);
  160.  
  161. /* Get FCAD environment settings*/
  162. FDT_DLLEXPORT int             EXPORT fdt_fgetenv(char *, char *);
  163.  
  164. /* Allocate or release string memory */
  165. FDT_DLLEXPORT char *          EXPORT fdt_strmalloc(int);
  166. FDT_DLLEXPORT void            EXPORT fdt_strfree(char *);
  167. FDT_DLLEXPORT void *          EXPORT fdt_malloc(unsigned int);
  168. FDT_DLLEXPORT void            EXPORT fdt_free(void *);
  169.  
  170. /* Functions to test character */
  171. FDT_DLLEXPORT int             EXPORT fdt_isalpha (int);
  172. FDT_DLLEXPORT int             EXPORT fdt_isupper (int);
  173. FDT_DLLEXPORT int             EXPORT fdt_islower (int);
  174. FDT_DLLEXPORT int             EXPORT fdt_isdigit (int);
  175. FDT_DLLEXPORT int             EXPORT fdt_isxdigit(int);
  176. FDT_DLLEXPORT int             EXPORT fdt_isspace (int);
  177. FDT_DLLEXPORT int             EXPORT fdt_ispunct (int);
  178. FDT_DLLEXPORT int             EXPORT fdt_isalnum (int);
  179. FDT_DLLEXPORT int             EXPORT fdt_isprint (int);
  180. FDT_DLLEXPORT int             EXPORT fdt_isgraph (int);
  181. FDT_DLLEXPORT int             EXPORT fdt_iscntrl (int);
  182. FDT_DLLEXPORT int             EXPORT fdt_toupper (int);
  183. FDT_DLLEXPORT int             EXPORT fdt_tolower (int);
  184.  
  185. /* Read or Write system settings */
  186. FDT_DLLEXPORT int             EXPORT fdt_setvar (const char *, const struct resbuf *);
  187. FDT_DLLEXPORT int             EXPORT fdt_getvar (const char *, struct resbuf *);
  188.  
  189. /* Convert functions */
  190. FDT_DLLEXPORT int             EXPORT fdt_cvunit (fdt_real, const char *, const char *, fdt_real *);
  191. FDT_DLLEXPORT int             EXPORT fdt_angtos (fdt_real, int, int, char *);
  192. FDT_DLLEXPORT int             EXPORT fdt_rtos   (fdt_real, int, int, char *);
  193. FDT_DLLEXPORT int             EXPORT fdt_angtof (const char *, int, fdt_real *);
  194. FDT_DLLEXPORT int             EXPORT fdt_distof (const char *, int, fdt_real *);
  195.  
  196. /* Wildcard pattern matching */
  197. FDT_DLLEXPORT int             EXPORT fdt_wcmatch(const char *, const char *);
  198.  
  199. /* Print a message or prompt */
  200. FDT_DLLEXPORT int             EXPORT fdt_prompt  (const char *);
  201. #ifdef _WIN32
  202. FDT_DLLEXPORT int             EXPORT fdt_printf(const char *, ...);
  203. #else
  204. int                           _export _loadds _far _cdecl fdt_printf(const char *, ...);
  205. #endif
  206.  
  207. /* Window handling */
  208. FDT_DLLEXPORT int             EXPORT fdt_graphscr(void);
  209. FDT_DLLEXPORT int             EXPORT fdt_textscr (void);
  210.  
  211. /* Selection set functions */
  212. FDT_DLLEXPORT int             EXPORT fdt_ssget(const char *, const void *,
  213.                                                const fdt_point, const struct resbuf *,
  214.                                                fdt_name);
  215. FDT_DLLEXPORT int             EXPORT fdt_ssfree(const fdt_name);
  216. FDT_DLLEXPORT int             EXPORT fdt_sslength(const fdt_name, long *);
  217. FDT_DLLEXPORT int             EXPORT fdt_ssadd(const fdt_name, const fdt_name, fdt_name);
  218. FDT_DLLEXPORT int             EXPORT fdt_ssname(const fdt_name, long, fdt_name);
  219. FDT_DLLEXPORT int             EXPORT fdt_ssdbnr(const fdt_name, int *);
  220. FDT_DLLEXPORT int             EXPORT fdt_ssmemb(const fdt_name, const fdt_name);
  221. FDT_DLLEXPORT int             EXPORT fdt_ssdel(const fdt_name, fdt_name);
  222. FDT_DLLEXPORT int             EXPORT fdt_xformss(fdt_name, fdt_matrix);         
  223. FDT_DLLEXPORT int             EXPORT fdti_ssinc(const fdt_name);  /* used internally */
  224. FDT_DLLEXPORT int             EXPORT fdti_clear_sset(int);        /* used internally */
  225.  
  226. /* normalizes a valid dxf-code to a value defined in fdtcodes.h (like RTSHORT, RTSTRING ...) */
  227. FDT_DLLEXPORT int             EXPORT fdt_norm_dxfcode(int);
  228.  
  229. /* Entity functions */
  230. FDT_DLLEXPORT int             EXPORT fdt_regapp(char *);
  231. FDT_DLLEXPORT int             EXPORT fdt_entnext(const fdt_name, fdt_name);
  232. FDT_DLLEXPORT int             EXPORT fdt_entpos(const fdt_pos, fdt_name);
  233. FDT_DLLEXPORT int             EXPORT fdt_entlast(fdt_name);
  234. FDT_DLLEXPORT int             EXPORT fdt_entdel(const fdt_name);
  235. FDT_DLLEXPORT struct resbuf * EXPORT fdt_entget(const fdt_name);
  236. FDT_DLLEXPORT struct resbuf * EXPORT fdt_entgetx(const fdt_name, const struct resbuf *);
  237. FDT_DLLEXPORT int             EXPORT fdt_entmod(struct resbuf *);
  238. FDT_DLLEXPORT int             EXPORT fdt_entmake(struct resbuf *);
  239. FDT_DLLEXPORT int             EXPORT fdt_entupd(fdt_name);
  240. FDT_DLLEXPORT int             EXPORT fdt_entcheck(fdt_name);
  241. FDT_DLLEXPORT int             EXPORT fdt_entsel(const char *, fdt_name, fdt_point);
  242. FDT_DLLEXPORT int             EXPORT fdt_nentsel(const char *, fdt_name, fdt_point, 
  243.                                                  fdt_matrix, struct resbuf **);
  244. FDT_DLLEXPORT int             EXPORT fdt_nentselp(const char *, fdt_name, fdt_point, int, 
  245.                                                   fdt_matrix, struct resbuf **);
  246. FDT_DLLEXPORT int             EXPORT fdt_hatch(const fdt_name, fdt_name);
  247.  
  248. /* Table functions */
  249. FDT_DLLEXPORT struct resbuf * EXPORT fdt_tblnext(char *, int);
  250. FDT_DLLEXPORT struct resbuf * EXPORT fdt_tblsearch(char *, char *);
  251. FDT_DLLEXPORT int             EXPORT fdt_tblmod(struct resbuf *);
  252. FDT_DLLEXPORT int             EXPORT fdt_tblmake(struct resbuf *);
  253. FDT_DLLEXPORT int             EXPORT fdt_tblset(const char *, const char *);
  254. FDT_DLLEXPORT int             EXPORT fdt_tblren(const char *, const char *, const char *);
  255. FDT_DLLEXPORT int             EXPORT fdt_tbldel(const char *, const char *);
  256. FDT_DLLEXPORT int             EXPORT fdt_tblpurge(const char *, const int);
  257. FDT_DLLEXPORT int             EXPORT fdt_tblcheckref(const char *, const char *);
  258.  
  259. /* Geometric functions */
  260. FDT_DLLEXPORT int             EXPORT fdt_inters  (const fdt_point, const fdt_point,
  261.                                                   const fdt_point, const fdt_point, 
  262.                                                   int, fdt_point);
  263. FDT_DLLEXPORT fdt_real        EXPORT fdt_angle   (const fdt_point, const fdt_point);
  264. FDT_DLLEXPORT fdt_real        EXPORT fdt_distance(const fdt_point, const fdt_point);
  265. FDT_DLLEXPORT void            EXPORT fdt_polar   (const fdt_point, fdt_real, fdt_real, 
  266.                                                   fdt_point);
  267.  
  268. /* Functions to get user input */
  269. FDT_DLLEXPORT int             EXPORT fdt_initget  (int, const char *);
  270. FDT_DLLEXPORT int             EXPORT fdt_getangle (const fdt_point, const char *, fdt_real *);
  271. FDT_DLLEXPORT int             EXPORT fdt_getcorner(const fdt_point, const char *, fdt_point);
  272. FDT_DLLEXPORT int             EXPORT fdt_getdist  (const fdt_point, const char *, fdt_real *);
  273. FDT_DLLEXPORT int             EXPORT fdt_getorient(const fdt_point, const char *, fdt_real *);
  274. FDT_DLLEXPORT int             EXPORT fdt_getpoint (const fdt_point, const char *, fdt_point);
  275. FDT_DLLEXPORT int             EXPORT fdt_getint   (const char *, int *);
  276. FDT_DLLEXPORT int             EXPORT fdt_getkword (const char *, char *);
  277. FDT_DLLEXPORT int             EXPORT fdt_getreal  (const char *, fdt_real *);
  278. FDT_DLLEXPORT int             EXPORT fdt_getinput (char *);
  279. FDT_DLLEXPORT int             EXPORT fdt_getstring(int , const char *, char *);
  280.  
  281. /* Test user break (canceling by ESC) */
  282. FDT_DLLEXPORT int             EXPORT fdt_usrbrk(void);
  283.  
  284. /* File handling */
  285. FDT_DLLEXPORT int             EXPORT fdt_findfile(const char *, char *);
  286. FDT_DLLEXPORT int             EXPORT fdt_getfiled(char *, char *, char *, int, struct resbuf *);
  287.  
  288. /* Drawing database manipulations */
  289. FDT_DLLEXPORT int             EXPORT fdt_handent(char *, fdt_name);
  290. FDT_DLLEXPORT int             EXPORT fdt_trans(const fdt_point, const struct resbuf *, 
  291.                                                const struct resbuf *, int, fdt_point);
  292.  
  293. /* Graphic functions */
  294. FDT_DLLEXPORT int             EXPORT fdt_redraw(const fdt_name ent, int mode);
  295. FDT_DLLEXPORT int             EXPORT fdt_regen(void);
  296. FDT_DLLEXPORT int             EXPORT fdt_grread(int , int *, struct resbuf *);
  297. FDT_DLLEXPORT int             EXPORT fdt_capture_grread(void);
  298. FDT_DLLEXPORT int             EXPORT fdt_release_grread(void);
  299. FDT_DLLEXPORT int             EXPORT fdt_grdraw(fdt_point, fdt_point, int, int);
  300. FDT_DLLEXPORT int             EXPORT fdt_grtext(char *);
  301. FDT_DLLEXPORT int             EXPORT fdt_grclear(void);
  302. FDT_DLLEXPORT int             EXPORT fdt_osnap(fdt_point, char *, fdt_point);
  303. FDT_DLLEXPORT int             EXPORT fdt_osnap_mode(fdt_point, int, fdt_point);
  304. FDT_DLLEXPORT int             EXPORT fdt_appinters(fdt_point, fdt_point, fdt_point);
  305. FDT_DLLEXPORT int             EXPORT fdt_textbox(const struct resbuf *, fdt_point, fdt_point);
  306.  
  307. #ifdef _WIN32
  308. FDT_DLLEXPORT int             EXPORT fdt_draggen(const fdt_name, const char *, int,
  309.                                                  int (*scnf)(fdt_point, fdt_matrix),fdt_point);
  310. #else
  311. int                           EXPORT fdt_draggen(const fdt_name, const char *, int,
  312.                                    int (EXPORT *scnf)(fdt_point, fdt_matrix),fdt_point);
  313. #endif
  314. FDT_DLLEXPORT int             EXPORT fdt_init_dragmode(int, struct resbuf *);
  315. FDT_DLLEXPORT int             EXPORT fdt_exit_dragmode(void);
  316.  
  317. /* Read tablet menu informations */
  318. FDT_DLLEXPORT int             EXPORT fdt_tabletinfo(fdt_tablet_rec *);
  319.  
  320. /* Drawing file functions */
  321. FDT_DLLEXPORT int             EXPORT fdt_flxnew(const char *, const char *, short *);
  322. FDT_DLLEXPORT int             EXPORT fdt_flxopen(const char *, int , short *);
  323. FDT_DLLEXPORT int             EXPORT fdt_flxsave(void);
  324. FDT_DLLEXPORT int             EXPORT fdt_flxsaveas(const char*);
  325. FDT_DLLEXPORT int             EXPORT fdt_flxclose(int);
  326. FDT_DLLEXPORT int             EXPORT fdt_flxclosevport(void);
  327. FDT_DLLEXPORT int             EXPORT fdt_flxnames(struct resbuf **names);
  328. FDT_DLLEXPORT int             EXPORT fdt_getflxinfo(const char *, FDT_FLX_INFO *, 
  329.                                                     DWORD *, HGLOBAL *);
  330. FDT_DLLEXPORT int             EXPORT fdt_setflxinfo(const char *, FDT_FLX_INFO *);
  331. FDT_DLLEXPORT int             EXPORT fdt_getpreviewbitmap(const char *, HBITMAP *, HPALETTE *);
  332. FDT_DLLEXPORT int             EXPORT fdt_getcolorindex(HWND, int, int, int *);
  333.  
  334. /* Get or set current database and current viewport */
  335. FDT_DLLEXPORT int             EXPORT fdt_getactvport(short *, short *);
  336. FDT_DLLEXPORT int             EXPORT fdt_setactvport(const short, const short);
  337. FDT_DLLEXPORT int             EXPORT fdt_zoomext(short, short);
  338.  
  339. /* Get FCAD handles */
  340. FDT_DLLEXPORT int             EXPORT fdt_gethandle(HWND *, HWND *);
  341.  
  342. /* Compile FCAD fonts */
  343. FDT_DLLEXPORT int             EXPORT fdt_compfont(const char *, const char *);
  344.  
  345. /* Get or Set Cursor settings */
  346. FDT_DLLEXPORT int             EXPORT fdt_setcursor(short, struct cursordef);
  347. FDT_DLLEXPORT int             EXPORT fdt_getcursor(short, struct cursordef *);
  348.  
  349. /* Convert polyline to cubic B-spline */
  350. FDT_DLLEXPORT int             EXPORT fdt_poly2bspline(fdt_name, int);
  351. FDT_DLLEXPORT int             EXPORT fdt_bspline2poly(fdt_name);
  352.  
  353. /* Convert polyline to catmull room curve */
  354. FDT_DLLEXPORT int             EXPORT fdt_poly2catrom_2d(fdt_name, int, fdt_real);
  355. FDT_DLLEXPORT int             EXPORT fdt_catrom2poly_2d(fdt_name);
  356.  
  357. /* Basic input function similiar to fdt_grread */
  358. FDT_DLLEXPORT struct resbuf * EXPORT fdt_input(char *, int);
  359.  
  360. /* Calculate bounding box of a single entity, a selection set, or of all entities */
  361. FDT_DLLEXPORT int             EXPORT fdt_boundingbox(fdt_name, fdt_point, fdt_point);
  362.  
  363. /* Calculate bounding polyline */
  364. FDT_DLLEXPORT int             EXPORT fdt_pcontour(fdt_name, int, fdt_point, fdt_name);
  365.  
  366. /* 3d-view setting */
  367. FDT_DLLEXPORT int             EXPORT fdt_set3dview(int, int, fdt_point, fdt_point, fdt_point, fdt_real);
  368.  
  369. /* WMF-Output */
  370. FDT_DLLEXPORT int             EXPORT fdt_wmfout(char *, int, int, char, fdt_point, fdt_point, int, int);
  371.  
  372. /* CallBack-Functions */
  373. #ifdef _WIN32
  374. FDT_DLLEXPORT typedef int (WINAPI * SELECTHOOKPROC)(const fdt_name);
  375. FDT_DLLEXPORT typedef int (WINAPI * DBMODHOOKPROC)(const fdt_name);
  376. FDT_DLLEXPORT typedef int (WINAPI * MOUSEHOOKPROC)(const fdt_point, const fdt_point);
  377. #else
  378. typedef int (EXPORT * SELECTHOOKPROC)(const fdt_name);
  379. typedef int (EXPORT * DBMODHOOKPROC)(const fdt_name);
  380. typedef int (EXPORT * MOUSEHOOKPROC)(const fdt_point, const fdt_point);
  381. #endif
  382.  
  383. /* defines needed in callback-finctions */
  384. #define FDT_NONE    0         // no callback for databasemodification activ
  385. #define FDT_MODIFY  1         // callback from function thats modifies a entity
  386. #define FDT_DELETE  2         // callback from function thats delets a entity
  387. #define FDT_ADD     4         // callback from function thats adds a entity
  388.  
  389. FDT_DLLEXPORT int             EXPORT fdt_setselecthook(SELECTHOOKPROC, char *);
  390. FDT_DLLEXPORT int             EXPORT fdt_delselecthook(SELECTHOOKPROC);
  391. FDT_DLLEXPORT int             EXPORT fdt_purgeselecthooklist(void);
  392.  
  393. FDT_DLLEXPORT int             EXPORT fdt_setmousehook(MOUSEHOOKPROC);
  394. FDT_DLLEXPORT int             EXPORT fdt_delmousehook(void);
  395.  
  396. FDT_DLLEXPORT int             EXPORT fdt_setdbmodhook(DBMODHOOKPROC, char *);
  397. FDT_DLLEXPORT int             EXPORT fdt_deldbmodhook(DBMODHOOKPROC);
  398. FDT_DLLEXPORT int             EXPORT fdt_purgedbmodhooklist(void);
  399. FDT_DLLEXPORT int             EXPORT fdt_entnext_dbhook(fdt_name, fdt_name);
  400. FDT_DLLEXPORT struct resbuf * EXPORT fdt_entget_dbhook(fdt_name);
  401. FDT_DLLEXPORT int             EXPORT fdt_entmod_dbhook(struct resbuf *);
  402. FDT_DLLEXPORT int             EXPORT fdt_entmod_type(void);
  403.  
  404. FDT_DLLEXPORT int             EXPORT fdt_isselecthook(void);
  405. FDT_DLLEXPORT int             EXPORT fdt_isdbmodhook(void);
  406.  
  407. /* Notifies all permanent loaded applications */
  408. FDT_DLLEXPORT int             EXPORT fdt_call_notify_app(int, struct resbuf *);
  409. FDT_DLLEXPORT int               EXPORT fdti_notify(int, char *);  /* used internally */
  410.  
  411. /* Sets help for external command */ 
  412. FDT_DLLEXPORT int             EXPORT fdt_setfunhelp(char *, char *, char *);
  413.  
  414. /* Functions to manipulat image libraries */
  415. FDT_DLLEXPORT int             EXPORT fdt_addimage2lib(LPCSTR, LPCSTR, LPCSTR, WORD);
  416. FDT_DLLEXPORT int             EXPORT fdt_delimagefromlib(LPCSTR, LPCSTR);
  417. FDT_DLLEXPORT WORD            EXPORT fdt_getimagetype(LPCSTR, LPCSTR);
  418.  
  419. /* Reset Byte Alignment */
  420. #pragma pack()
  421.  
  422. #ifdef __cplusplus
  423. }
  424. #endif
  425.  
  426. #endif
  427.  
  428. /* end of file */
  429.