File: SqModule.h

package info (click to toggle)
squeak-vm 1%3A4.10.2.2614-4.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 13,284 kB
  • ctags: 15,344
  • sloc: ansic: 75,096; cs: 11,191; objc: 5,494; sh: 3,170; asm: 1,533; cpp: 449; pascal: 372; makefile: 366; awk: 103
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 */