lwmodule.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * LWSDK Header File
  3. * Copyright 1999, NewTek, Inc.
  4. *
  5. * LWMODULE.H -- LightWave Plug-in Modules
  6. *
  7. * The ModuleDescriptor is the lowest-level which describes a single
  8. * LightWave plug-in module. Modules can contain multiple servers
  9. * but have one startup and shutdown each. The synchronization codes
  10. * are used to assure that the module matches the expectations of the
  11. * host.
  12. */
  13. #ifndef LWSDK_MODULE_H
  14. #define LWSDK_MODULE_H
  15. #include <lwserver.h>
  16. typedef struct st_ModuleDescriptor {
  17. unsigned long sysSync;
  18. unsigned long sysVersion;
  19. unsigned long sysMachine;
  20. void * (*startup) (void);
  21. void (*shutdown) (void *);
  22. ServerRecord *serverDefs;
  23. } ModuleDescriptor;
  24. #define MOD_SYSSYNC 0x04121994
  25. #define MOD_SYSVER 3
  26. #ifdef _XGL
  27. #define MOD_MACHINE 0x200
  28. #endif
  29. #ifdef _WIN32
  30. #ifdef _ALPHA_
  31. #define MOD_MACHINE 0x302
  32. #else
  33. #define MOD_MACHINE 0x300
  34. #endif
  35. #endif
  36. #ifdef _MACOS
  37. #define MOD_MACHINE 0x400
  38. #endif
  39. #endif