File: SqModule.h

package info (click to toggle)
squeak-vm 1%3A4.10.2.2614%2B20120917~dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 11,144 kB
  • sloc: ansic: 72,193; objc: 5,494; sh: 3,061; asm: 1,533; cpp: 449; pascal: 372; makefile: 300; awk: 103; cs: 11
file content (36 lines) | stat: -rw-r--r-- 795 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __sq_SqModule_h
#define __sq_SqModule_h


#define SqModuleVersionMajor	1
#define SqModuleVersionMinor	1
#define SqModuleVersion		((SqModuleVersionMajor << 16) | (SqModuleVersionMinor))

struct SqModule
{
  int		   version;
  char		  *name;
  char		  *type;
  int		   (*parseArgument)(int, char **);
  void		   (*parseEnvironment)(void);
  void		   (*printUsage)(void);
  void		   (*printUsageNotes)(void);
  void		  *(*makeInterface)(void);
  struct SqModule *next;
};

#define SqModuleDefine(TYPE, NAME)		\
struct SqModule TYPE##_##NAME= {		\
  SqModuleVersion,				\
  #NAME,					\
  #TYPE,					\
  TYPE##_parseArgument,				\
  TYPE##_parseEnvironment,			\
  TYPE##_printUsage,				\
  TYPE##_printUsageNotes,			\
  TYPE##_makeInterface,				\
  0						\
}


#endif /* __sq_SqModule_h */