1#include "easynmc\aura.h"
6typedef void (func_ppi_t)(
void*,
void*,int);
7typedef int (func_ppi_i_t)(
void*,
void*,int);
8typedef int (func_ppr_i_t)(
void*,
void*,
int*);
9typedef void (func_pppi_t)(
void*,
void*,
void*,int);
10typedef void (func_pipi_t)(
void*,int,
void*,int);
11typedef void (func_plpi_t)(
void*,long,
void*,int);
12typedef void (func_pip_t)(
void*,int,
void*);
13typedef void (func_ppp_t)(
void*,
void*,
void*);
14typedef int (func_ppp_i_t)(
void*,
void*,
void*);
15typedef void (func_pppii_t) (
void*,
void*,
void*,int,int);
16typedef void (func_piippi_t) (
void*,int,int,
void*,
void*,int);
17typedef void (func_ppip_t) (
void*,
void*,int,
void*);
39#define NMC_RPC_PPI(func) \
40void rpc_ ## func(void *in, void *out) \
44 aura_buffer buf_src = aura_get_buf(); \
45 aura_buffer buf_dst = aura_get_buf(); \
46 int *src = aura_buffer_to_ptr(buf_src); \
47 int *dst = aura_buffer_to_ptr(buf_dst); \
48 unsigned size = aura_get_u32(); \
49 func_ppi_t *unifunc=(func_ppi_t*)func; \
50 unifunc(src,dst,size); \
53#define NMC_RPC_PPI_I(func) \
54void rpc_ ## func(void *in, void *out) \
56 aura_buffer buf_src = aura_get_buf(); \
57 aura_buffer buf_dst = aura_get_buf(); \
58 int *src = aura_buffer_to_ptr(buf_src); \
59 int *dst = aura_buffer_to_ptr(buf_dst); \
60 unsigned size = aura_get_u32(); \
61 func_ppi_i_t *unifunc=(func_ppi_i_t*)func; \
62 int ret=unifunc(src,dst,size); \
68#define NMC_RPC_PPPI(func) \
69void rpc_ ## func(void *in, void *out) \
71 aura_buffer buf_src0 = aura_get_buf(); \
72 aura_buffer buf_src1 = aura_get_buf(); \
73 aura_buffer buf_dst = aura_get_buf(); \
74 int *src0 = aura_buffer_to_ptr(buf_src0); \
75 int *src1 = aura_buffer_to_ptr(buf_src1); \
76 int *dst = aura_buffer_to_ptr(buf_dst); \
77 unsigned size = aura_get_u32(); \
78 func_pppi_t *unifunc=(func_pppi_t*)func; \
79 unifunc(src0,src1,dst,size); \
82#define NMC_RPC_PIPI(func) \
83void rpc_ ## func(void *in, void *out) \
85 aura_buffer buf_src = aura_get_buf(); \
86 unsigned val = aura_get_u32(); \
87 aura_buffer buf_dst = aura_get_buf(); \
88 int *src = aura_buffer_to_ptr(buf_src); \
89 int *dst = aura_buffer_to_ptr(buf_dst); \
90 unsigned size = aura_get_u32(); \
91 func_pipi_t *unifunc=(func_pipi_t*)func; \
92 unifunc(src,val,dst,size); \
97#define NMC_RPC_PLPI(func) \
98void rpc_ ## func(void *in, void *out) \
100 aura_buffer buf_src = aura_get_buf(); \
101 unsigned long long val = aura_get_u64(); \
102 aura_buffer buf_dst = aura_get_buf(); \
103 int *src = aura_buffer_to_ptr(buf_src); \
104 int *dst = aura_buffer_to_ptr(buf_dst); \
105 unsigned size = aura_get_u32(); \
106 func_plpi_t *unifunc=(func_plpi_t*)func; \
107 unifunc(src,val,dst,size); \
110#define NMC_RPC_PPLI(func) \
111void rpc_ ## func(void *in, void *out) \
113 aura_buffer buf_src = aura_get_buf(); \
114 aura_buffer buf_dst = aura_get_buf(); \
115 unsigned long long val = aura_get_u64(); \
116 int *src = aura_buffer_to_ptr(buf_src); \
117 int *dst = aura_buffer_to_ptr(buf_dst); \
118 unsigned size = aura_get_u32(); \
119 func_pipi_t *unifunc=(func_pipi_t*)func; \
122#define NMC_RPC_PPP(func) \
123void rpc_ ## func(void *in, void *out) \
125 aura_buffer buf_src0 = aura_get_buf(); \
126 aura_buffer buf_src1 = aura_get_buf(); \
127 aura_buffer buf_dst = aura_get_buf(); \
128 int *src0 = aura_buffer_to_ptr(buf_src0); \
129 int *src1 = aura_buffer_to_ptr(buf_src1); \
130 int *dst = aura_buffer_to_ptr(buf_dst); \
131 unsigned size = aura_get_u32(); \
132 func_ppp_t *unifunc=(func_ppp_t*)func; \
133 unifunc(src0,src1,dst); \
136#define NMC_RPC_PPP_I(func) \
137void rpc_ ## func(void *in, void *out) \
139 aura_buffer buf_src0 = aura_get_buf(); \
140 aura_buffer buf_src1 = aura_get_buf(); \
141 aura_buffer buf_dst = aura_get_buf(); \
142 int *src0 = aura_buffer_to_ptr(buf_src0); \
143 int *src1 = aura_buffer_to_ptr(buf_src1); \
144 int *dst = aura_buffer_to_ptr(buf_dst); \
145 unsigned size = aura_get_u32(); \
146 func_ppp_t *unifunc=(func_ppp_t*)func; \
147 int ret = unifunc(src0,src1,dst); \
152#define NMC_RPC_PIR(func) \
153void rpc_ ## func(void *in, void *out) \
155 aura_buffer buf_src0 = aura_get_buf(); \
156 int *src0 = aura_buffer_to_ptr(buf_src0); \
157 unsigned size = aura_get_u32(); \
158 func_pip_t *unifunc=(func_pip_t*)func; \
160 unifunc(src0,size,&ret); \
164#define NMC_RPC_PPR_I(func) \
165void rpc_ ## func(void *in, void *out) \
168 aura_buffer buf_src = aura_get_buf(); \
169 aura_buffer buf_dst = aura_get_buf(); \
170 int *src = aura_buffer_to_ptr(buf_src); \
171 int *dst = aura_buffer_to_ptr(buf_dst); \
172 func_ppr_i_t *unifunc=(func_ppr_i_t*)func; \
173 int ret = unifunc(src,dst,&handle); \
174 aura_put_u32(handle); \
180#define NMC_RPC_PIR64(func) \
181void rpc_ ## func(void *in, void *out) \
183 aura_buffer buf_src0 = aura_get_buf(); \
184 int *src0 = aura_buffer_to_ptr(buf_src0); \
185 unsigned size = aura_get_u32(); \
186 func_pip_t *unifunc=(func_pip_t*)func; \
188 unifunc(src0,size,&ret); \
207#define NMC_RPC_PPPII(func) \
208void rpc_ ## func(void *in, void *out) \
210 aura_buffer buf_src0 = aura_get_buf(); \
211 aura_buffer buf_src1 = aura_get_buf(); \
212 aura_buffer buf_dst = aura_get_buf(); \
213 int *src0 = aura_buffer_to_ptr(buf_src0); \
214 int *src1 = aura_buffer_to_ptr(buf_src1); \
215 int *dst = aura_buffer_to_ptr(buf_dst); \
216 unsigned height = aura_get_u32(); \
217 unsigned width = aura_get_u32(); \
218 func_pppii_t *unifunc=(func_pppii_t*)func; \
219 unifunc(src0,src1,dst,height,width); \
222#define NMC_RPC_PIIPPI(func) \
223void rpc_ ## func(void *in, void *out) \
225 aura_buffer buf_src0 = aura_get_buf(); \
226 unsigned height = aura_get_u32(); \
227 unsigned width0 = aura_get_u32(); \
228 aura_buffer buf_src1 = aura_get_buf(); \
229 aura_buffer buf_dst = aura_get_buf(); \
230 unsigned width1 = aura_get_u32(); \
231 int *src0 = aura_buffer_to_ptr(buf_src0); \
232 int *src1 = aura_buffer_to_ptr(buf_src1); \
233 int *dst = aura_buffer_to_ptr(buf_dst); \
234 func_piippi_t *unifunc=(func_piippi_t*)func; \
235 unifunc(src0,height,width0,src1,dst,width1); \