__CONCAT
#define _CEI_TO_STATE(_cei_, _func_) (_cei_)->states.__CONCAT(s_,_func_)
#define _FUNCNAME(m) __CONCAT(_citrus_DECHanyu_,m)
#define RSYSCALL(x) ENTRY(__CONCAT(__sys_,x)); \
.set CNAME(x),CNAME(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
END(__CONCAT(__sys_,x))
#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret ; \
END(__CONCAT(__sys_,x))
#define RSYSCALL(x) ENTRY(__CONCAT(__sys_,x)); \
.set CNAME(x),CNAME(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
END(__CONCAT(__sys_,x))
#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
END(__CONCAT(__sys_,x))
goto __CONCAT(ret, level); }
#define lock(f) ((rtm->rtm_rmx.rmx_locks & __CONCAT(RTV_,f)) ? 'L' : ' ')
#define IDTVEC(name) ALIGN_TEXT; .globl __CONCAT(X,name); \
.type __CONCAT(X,name),@function; __CONCAT(X,name):
static const struct command __CONCAT(func_name,_cmd) = { \
TEXT_SET(set, __CONCAT(func_name,_cmd)); \
__CONCAT(virtio_read_dev_config_,size)(device_t dev, \
__CONCAT(virtio_write_dev_config_,size)(device_t dev, \
static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp);
#define DDESCNAME(name) __CONCAT(__CONCAT(dev_,name),_desc)
__offsetof(struct dev_ops, __CONCAT(d_, name)), \
#define VDESCNAME(name) __CONCAT(__CONCAT(vop_,name),_desc)
__offsetof(struct vop_ops, __CONCAT(vop_, name)), \
#define IDTVEC(name) __CONCAT(X,name)
#define IDTVEC(name) __CONCAT(X,name)
__CONCAT(__GENSTRUCT,VA_NARGS(args))(tag, args)
#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x)
#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x)
#define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x)
__GLOBL(__CONCAT(__start_set_,set)); \
__GLOBL(__CONCAT(__stop_set_,set)); \
extern ptype *__CONCAT(__start_set_,set); \
extern ptype *__CONCAT(__stop_set_,set)
extern ptype __weak_symbol *__CONCAT(__start_set_,set); \
extern ptype __weak_symbol *__CONCAT(__stop_set_,set)
#define SET_BEGIN(set) (&__CONCAT(__start_set_,set))
#define SET_LIMIT(set) (&__CONCAT(__stop_set_,set))
#define VDESC(OP) (& __CONCAT(OP,_desc))
#define CONCAT(x,y) __CONCAT(x,y)