Browse Source
Add parsing know-how for enum fields. This is necessary for internally defined wire generators. Enums are denoted by prefixing the field with an `e:`. Ex: msgdata,msg_name,field_name,e:enum_type,pull/2938/head
lisa neigut
6 years ago
committed by
Rusty Russell
5 changed files with 46 additions and 6 deletions
@ -0,0 +1,18 @@ |
|||
#include "enum.h" |
|||
#include <stdio.h> |
|||
|
|||
void towire_test_enum(u8 **pptr, const enum test_enum test_enum) |
|||
{ |
|||
printf("this would have been the towire for enum %u\n", test_enum); |
|||
} |
|||
|
|||
enum test_enum fromwire_test_enum(const u8 **cursor, size_t *max) |
|||
{ |
|||
printf("fromwire_test_enum at %ld\n", *max); |
|||
return TEST_ONE; |
|||
} |
|||
|
|||
void printwire_test_enum(const char *fieldname, const enum test_enum *test_enum) |
|||
{ |
|||
printf("%u\n", *test_enum); |
|||
} |
@ -0,0 +1,15 @@ |
|||
#ifndef LIGHTNING_TOOLS_TEST_ENUM_H |
|||
#define LIGHTNING_TOOLS_TEST_ENUM_H |
|||
#include <ccan/short_types/short_types.h> |
|||
#include <stdlib.h> |
|||
|
|||
enum test_enum { |
|||
TEST_ONE, |
|||
TEST_TWO, |
|||
}; |
|||
|
|||
void towire_test_enum(u8 **pptr, const enum test_enum test_enum); |
|||
enum test_enum fromwire_test_enum(const u8 **cursor, size_t *max); |
|||
void printwire_test_enum(const char *fieldname, const enum test_enum *test_enum); |
|||
|
|||
#endif /* LIGHTNING_TOOLS_TEST_ENUM_H */ |
Loading…
Reference in new issue