 f7abe0ecd4
			
		
	
	
		f7abe0ecd4
		
	
	
	
	
		
			
			Currently, a FOO_lookup is an array of strings terminated by a NULL sentinel. A future patch will generate enums with "holes". NULL-termination will cease to work then. To prepare for that, store the length in the FOO_lookup by wrapping it in a struct and adding a member for the length. The sentinel will be dropped next. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170822132255.23945-13-marcandre.lureau@redhat.com> [Basically redone] Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <1503564371-26090-16-git-send-email-armbru@redhat.com> [Rebased]
		
			
				
	
	
		
			26 lines
		
	
	
		
			575 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			575 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * QAPI util functions
 | |
|  *
 | |
|  * Copyright Fujitsu, Inc. 2014
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 | |
|  * See the COPYING.LIB file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef QAPI_UTIL_H
 | |
| #define QAPI_UTIL_H
 | |
| 
 | |
| typedef struct QEnumLookup {
 | |
|     const char *const *array;
 | |
|     int size;
 | |
| } QEnumLookup;
 | |
| 
 | |
| const char *qapi_enum_lookup(const QEnumLookup *lookup, int val);
 | |
| int qapi_enum_parse(const QEnumLookup *lookup, const char *buf,
 | |
|                     int def, Error **errp);
 | |
| 
 | |
| int parse_qapi_name(const char *name, bool complete);
 | |
| 
 | |
| #endif
 |