Lines Matching defs:api

67 void printArgList(FILE *f, const ApiEntry * api, int assumePrevious) {
69 for (ct=0; ct < api->paramCount; ct++) {
73 printVarTypeAndName(f, &api->params[ct]);
87 const ApiEntry * api = &apis[ct];
88 fprintf(f, "#define RS_CMD_ID_%s %i\n", api->name, ct+1);
89 fprintf(f, "struct __attribute__((packed)) RS_CMD_%s_rec {\n", api->name);
92 for (ct2=0; ct2 < api->paramCount; ct2++) {
94 printVarTypeAndName(f, &api->params[ct2]);
101 void printFuncDecl(FILE *f, const ApiEntry *api, const char *prefix, int addContext, int isFnPtr) {
102 printVarTypeAndName(f, &api->ret);
105 strcpy(t, api->name);
111 fprintf(f, " (* %s%s) (", prefix, api->name);
113 fprintf(f, " %s%s (", prefix, api->name);
115 if (!api->nocontext) {
122 printArgList(f, api, !api->nocontext);
161 static int hasInlineDataPointers(const ApiEntry * api) {
164 if (api->sync || api->ret.typeName[0]) {
167 for (ct=0; ct < api->paramCount; ct++) {
168 const VarType *vt = &api->params[ct];
207 const ApiEntry * api = &apis[ct];
210 printFuncDecl(f, api, "LF_", 0, 0);
212 if (api->direct) {
214 if (api->ret.typeName[0]) {
217 fprintf(f, "rsi_%s(", api->name);
218 if (!api->nocontext) {
221 for (ct2=0; ct2 < api->paramCount; ct2++) {
222 const VarType *vt = &api->params[ct2];
223 if (ct2 > 0 || !api->nocontext) {
229 } else if (api->handcodeApi) {
231 fprintf(f, " LF_%s_handcode(", api->name);
232 if (!api->nocontext) {
235 for (ct2=0; ct2 < api->paramCount; ct2++) {
236 const VarType *vt = &api->params[ct2];
237 if (ct2 > 0 || !api->nocontext) {
248 if (api->ret.typeName[0]) {
251 fprintf(f, "rsi_%s(", api->name);
252 if (!api->nocontext) {
255 for (ct2=0; ct2 < api->paramCount; ct2++) {
256 const VarType *vt = &api->params[ct2];
257 if (ct2 > 0 || !api->nocontext) {
263 if (!api->ret.typeName[0]) {
269 fprintf(f, " const size_t size = sizeof(RS_CMD_%s);\n", api->name);
270 if (hasInlineDataPointers(api)) {
272 for (ct2=0; ct2 < api->paramCount; ct2++) {
273 const VarType *vt = &api->params[ct2];
280 //fprintf(f, " ALOGE(\"add command %s\\n\");\n", api->name);
281 if (hasInlineDataPointers(api)) {
282 fprintf(f, " RS_CMD_%s *cmd = NULL;\n", api->name);
284 fprintf(f, " cmd = static_cast<RS_CMD_%s *>(io->coreHeader(RS_CMD_ID_%s, dataSize + size));\n", api->name, api->name);
286 fprintf(f, " cmd = static_cast<RS_CMD_%s *>(io->coreHeader(RS_CMD_ID_%s, size));\n", api->name, api->name);
290 fprintf(f, " RS_CMD_%s *cmd = static_cast<RS_CMD_%s *>(io->coreHeader(RS_CMD_ID_%s, size));\n", api->name, api->name, api->name);
293 for (ct2=0; ct2 < api->paramCount; ct2++) {
294 const VarType *vt = &api->params[ct2];
296 if (vt->ptrLevel && hasInlineDataPointers(api)) {
311 if (api->ret.typeName[0] || api->sync) {
316 if (hasInlineDataPointers(api)) {
320 } else if (api->ret.typeName[0]) {
322 printVarType(f, &api->ret);
335 if (api->direct) {
340 printFuncDecl(f, api, "RF_", 0, 0);
343 fprintf(f, " const uint32_t cmdID = RS_CMD_ID_%s;\n", api->name);
346 for (ct2=0; ct2 < api->paramCount; ct2++) {
347 const VarType *vt = &api->params[ct2];
354 for (ct2=0; ct2 < api->paramCount; ct2++) {
355 const VarType *vt = &api->params[ct2];
362 for (ct2=0; ct2 < api->paramCount; ct2++) {
363 const VarType *vt = &api->params[ct2];
372 for (ct2=0; ct2 < api->paramCount; ct2++) {
373 const VarType *vt = &api->params[ct2];
380 for (ct2=0; ct2 < api->paramCount; ct2++) {
381 const VarType *vt = &api->params[ct2];
390 if (api->ret.typeName[0]) {
392 printVarType(f, &api->ret);
396 } else /*if (api->sync)*/ {
419 const ApiEntry * api = &apis[ct];
423 printFuncDecl(f, api, "rs", 0, 0);
426 if (api->ret.typeName[0]) {
429 fprintf(f, "s_CurrentTable->%s(", api->name);
431 if (!api->nocontext) {
435 for (ct2=0; ct2 < api->paramCount; ct2++) {
436 const VarType *vt = &api->params[ct2];
437 if (ct2 > 0 || !api->nocontext) {
463 const ApiEntry * api = &apis[ct];
466 if (api->direct) {
470 fprintf(f, "void rsp_%s(Context *con, const void *vp, size_t cmdSizeBytes) {\n", api->name);
471 fprintf(f, " const RS_CMD_%s *cmd = static_cast<const RS_CMD_%s *>(vp);\n", api->name, api->name);
473 if (hasInlineDataPointers(api)) {
475 fprintf(f, " if (cmdSizeBytes != sizeof(RS_CMD_%s)) {\n", api->name);
481 if (api->ret.typeName[0]) {
483 printVarType(f, &api->ret);
486 fprintf(f, "rsi_%s(con", api->name);
487 for (ct2=0; ct2 < api->paramCount; ct2++) {
488 const VarType *vt = &api->params[ct2];
491 if (hasInlineDataPointers(api) && vt->ptrLevel) {
499 if (hasInlineDataPointers(api)) {
501 for (ct2=0; ct2 < api->paramCount; ct2++) {
502 if (api->params[ct2].ptrLevel) {
503 fprintf(f, " totalSize += cmd->%s_length;\n", api->params[ct2].name);
507 fprintf(f, " if ((totalSize != 0) && (cmdSizeBytes == sizeof(RS_CMD_%s))) {\n", api->name);
510 } else if (api->ret.typeName[0]) {
512 } else if (api->sync || needFlush) {
520 const ApiEntry * api = &apis[ct];
523 fprintf(f, "void rspr_%s(Context *con, ThreadIO *io) {\n", api->name);
524 fprintf(f, " RS_CMD_%s cmd;\n", api->name);
526 for (ct2=0; ct2 < api->paramCount; ct2++) {
527 const VarType *vt = &api->params[ct2];
534 for (ct2=0; ct2 < api->paramCount; ct2++) {
535 const VarType *vt = &api->params[ct2];
548 for (ct2=0; ct2 < api->paramCount; ct2++) {
549 const VarType *vt = &api->params[ct2];
561 if (api->ret.typeName[0]) {
563 printVarType(f, &api->ret);
567 fprintf(f, " rsi_%s(", api->name);
568 if (!api->nocontext) {
571 for (ct2=0; ct2 < api->paramCount; ct2++) {
572 const VarType *vt = &api->params[ct2];
573 if (ct2 > 0 || !api->nocontext) {
580 for (ct2=0; ct2 < api->paramCount; ct2++) {
581 const VarType *vt = &api->params[ct2];
587 for (ct2=0; ct2 < api->paramCount; ct2++) {
588 const VarType *vt = &api->params[ct2];
597 if (api->ret.typeName[0]) {
603 for (ct2=0; ct2 < api->paramCount; ct2++) {
604 const VarType *vt = &api->params[ct2];
609 for (ct2=0; ct2 < api->paramCount; ct2++) {
610 const VarType *vt = &api->params[ct2];