You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
799 B
28 lines
799 B
#define PROC_TEMPLATE2(proc, mod, internal, ordinal) \
|
|
\
|
|
\
|
|
\
|
|
extern void __ ## mod ## dynlink(PROCDATA *); \
|
|
\
|
|
static PROCDATA p = { #proc, \
|
|
ordinal, \
|
|
NULL, \
|
|
NULL \
|
|
}; \
|
|
\
|
|
typedef T_ ## proc (K_ ## proc * FT_ ## proc) P_ ## proc ; \
|
|
\
|
|
T_ ## proc K_ ## proc proc P_ ## proc \
|
|
{ \
|
|
if (p.fp==NULL) \
|
|
__ ## mod ## dynlink(&p); \
|
|
if (p.fp) \
|
|
return ((FT_ ## proc)p.fp) A_ ## proc; \
|
|
else \
|
|
return (T_ ## proc)0; \
|
|
}
|
|
|
|
#define PROC_TEMPLATE(proc, mod, internal, ordinal) \
|
|
PROC_TEMPLATE2(proc, mod, internal, ordinal)
|
|
|
|
|