int stor_lookup_create_req_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_lookup_create_req **out){ struct _stor_lookup_create_req *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_lookup_create_req*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); cmp_read_long(&cmp,&o->folder); cmp_read_int(&cmp, &o->type); cmp_read_int(&cmp, &o->asc); *out = o; return 0; }
int stor_fcreate_req_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fcreate_req **out){ struct _stor_fcreate_req *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_fcreate_req*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); { uint32_t size; cmp_read_str_size(&cmp, &size); if(size == 0){ o->fname = NULL; }else{ o->fname = (char*)osapi_malloc(size+1); if(o->fname == NULL){ osapi_free(o); return -ENOMEM; } reader(&cmp, o->fname, size); o->fname[size] = 0; } } cmp_read_long(&cmp,&o->folder); cmp_read_int(&cmp, &o->type); *out = o; return 0; }
/** This callback shows how to read the several arguments. */ bool arg_read_cb(void *p, cmp_ctx_t *args_ctx, cmp_ctx_t *output_ctx) { bool result; int arg; char arg_name[64]; unsigned int arg_len; uint32_t array_size = 0; MockActualCall& state = mock().actualCall("arg_read_cb"); result = cmp_read_array(args_ctx, &array_size); CHECK_TRUE(result); CHECK_EQUAL(2, array_size); result = cmp_read_int(args_ctx, &arg); CHECK_TRUE(result); state = state.withIntParameter("x", arg); result = cmp_read_int(args_ctx, &arg); CHECK_TRUE(result); state = state.withIntParameter("y", arg); return true; }
int stor_fclose_rsp_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fclose_rsp **out){ struct _stor_fclose_rsp *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_fclose_rsp*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); cmp_read_int(&cmp, &o->errcode); *out = o; return 0; }
int stor_fread_req_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fread_req **out){ struct _stor_fread_req *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_fread_req*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); cmp_read_long(&cmp,&o->fid); cmp_read_long(&cmp,&o->offset); cmp_read_int(&cmp, &o->len); *out = o; return 0; }
int stor_lookup_next_rsp_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_lookup_next_rsp **out){ struct _stor_lookup_next_rsp *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_lookup_next_rsp*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); cmp_read_long(&cmp,&o->luid); { stor_fstat_rsp_t *obj; uint32_t size; int i; cmp_read_array(&cmp, &size); fixarray_create(size, &o->rfiles); for (i = 0; i < size; i++){ obj = osapi_malloc(sizeof(*obj)); if(obj == NULL) { osapi_free(o); return -ENOMEM; } cmp_read_long(&cmp,&obj->fid); { uint32_t size; cmp_read_str_size(&cmp, &size); if(size == 0){ obj->fname = NULL; }else{ obj->fname = (char*)osapi_malloc(size+1); if(obj->fname == NULL){ osapi_free(o); return -ENOMEM; } reader(&cmp, obj->fname, size); obj->fname[size] = 0; } } { uint32_t size; cmp_read_str_size(&cmp, &size); if(size == 0){ obj->folder = NULL; }else{ obj->folder = (char*)osapi_malloc(size+1); if(obj->folder == NULL){ osapi_free(o); return -ENOMEM; } reader(&cmp, obj->folder, size); obj->folder[size] = 0; } } cmp_read_int(&cmp, &obj->type); cmp_read_long(&cmp,&obj->fatime); cmp_read_long(&cmp,&obj->fmtime); cmp_read_long(&cmp,&obj->fctime); cmp_read_long(&cmp,&obj->fsize); cmp_read_bin_size(&cmp, &obj->snap_len); if(obj->snap_len == 0){ obj->snap = NULL; }else{ obj->snap = osapi_malloc(obj->snap_len); if(obj->snap == NULL){ return -ENOMEM; } reader(ptr, obj->snap, obj->snap_len); } fixarray_set(o->rfiles, i, obj); } } *out = o; return 0; }
int stor_fstat_rsp_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fstat_rsp **out){ struct _stor_fstat_rsp *o; cmp_ctx_t cmp; cmp_init(&cmp, ptr, reader, writer); o = (struct _stor_fstat_rsp*)osapi_malloc(sizeof(*o)); if(o == NULL) return -ENOMEM; memset(o, 0, sizeof(*o)); cmp_read_long(&cmp,&o->fid); { uint32_t size; cmp_read_str_size(&cmp, &size); if(size == 0){ o->fname = NULL; }else{ o->fname = (char*)osapi_malloc(size+1); if(o->fname == NULL){ osapi_free(o); return -ENOMEM; } reader(&cmp, o->fname, size); o->fname[size] = 0; } } { uint32_t size; cmp_read_str_size(&cmp, &size); if(size == 0){ o->folder = NULL; }else{ o->folder = (char*)osapi_malloc(size+1); if(o->folder == NULL){ osapi_free(o); return -ENOMEM; } reader(&cmp, o->folder, size); o->folder[size] = 0; } } cmp_read_int(&cmp, &o->type); cmp_read_long(&cmp,&o->fatime); cmp_read_long(&cmp,&o->fmtime); cmp_read_long(&cmp,&o->fctime); cmp_read_long(&cmp,&o->fsize); cmp_read_bin_size(&cmp, &o->snap_len); if(o->snap_len == 0){ o->snap = NULL; }else{ o->snap = osapi_malloc(o->snap_len); if(o->snap == NULL){ stor_fstat_rsp_free(o); return -ENOMEM; } reader(&cmp, o->snap, o->snap_len); } *out = o; return 0; }