Add new and new list funcs
This commit is contained in:
parent
3798d34428
commit
2ded64d310
4 changed files with 211 additions and 2 deletions
|
|
@ -525,7 +525,19 @@ static void define_struct(struct node *n) {
|
|||
}
|
||||
fprintf(HDR, "};\n");
|
||||
|
||||
fprintf(SRC, "\nvoid read_%s(struct %s *s, %s_ptr p) {\n", n->name.str, n->name.str, n->name.str);
|
||||
fprintf(SRC, "\n%s_ptr new_%s(struct capn_segment *s) {\n", n->name.str, n->name.str);
|
||||
fprintf(SRC, "\t%s_ptr p = {capn_new_struct(s, %d, %d)};\n",
|
||||
n->name.str, 8*n->s.dataSectionWordSize, n->s.pointerSectionSize);
|
||||
fprintf(SRC, "\treturn p;\n");
|
||||
fprintf(SRC, "}\n");
|
||||
|
||||
fprintf(SRC, "%s_list new_%s_list(struct capn_segment *s, int len) {\n", n->name.str, n->name.str);
|
||||
fprintf(SRC, "\t%s_list p = {capn_new_list(s, len, %d, %d)};\n",
|
||||
n->name.str, 8*n->s.dataSectionWordSize, n->s.pointerSectionSize);
|
||||
fprintf(SRC, "\treturn p;\n");
|
||||
fprintf(SRC, "}\n");
|
||||
|
||||
fprintf(SRC, "void read_%s(struct %s *s, %s_ptr p) {\n", n->name.str, n->name.str, n->name.str);
|
||||
for (i = 0; i < mlen; i++) {
|
||||
struct member *m = &mbrs[i];
|
||||
if (!m->is_valid) continue;
|
||||
|
|
@ -583,6 +595,9 @@ static void declare_structs(struct node *n, const char *format, int num) {
|
|||
case 3:
|
||||
fprintf(HDR, format, n->name.str, n->name.str, n->name.str);
|
||||
break;
|
||||
case 2:
|
||||
fprintf(HDR, format, n->name.str, n->name.str);
|
||||
break;
|
||||
case 1:
|
||||
fprintf(HDR, format, n->name.str);
|
||||
break;
|
||||
|
|
@ -687,6 +702,8 @@ int main() {
|
|||
declare_structs(n, "struct %s;\n", 1);
|
||||
declare_structs(n, "typedef struct {capn_ptr p;} %s_ptr;\n", 1);
|
||||
declare_structs(n, "typedef struct {capn_ptr p;} %s_list;\n", 1);
|
||||
declare_structs(n, "%s_ptr new_%s(struct capn_segment*);\n", 2);
|
||||
declare_structs(n, "%s_list new_%s_list(struct capn_segment*, int len);\n", 2);
|
||||
declare_structs(n, "void read_%s(struct %s*, %s_ptr);\n", 3);
|
||||
declare_structs(n, "int write_%s(const struct %s*, %s_ptr);\n", 3);
|
||||
declare_structs(n, "void get_%s(struct %s*, %s_list, int i);\n", 3);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue