Annotation of qemu/json-lexer.h, revision 1.1.1.2

1.1       root        1: /*
                      2:  * JSON lexer
                      3:  *
                      4:  * Copyright IBM, Corp. 2009
                      5:  *
                      6:  * Authors:
                      7:  *  Anthony Liguori   <[email protected]>
                      8:  *
                      9:  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
                     10:  * See the COPYING.LIB file in the top-level directory.
                     11:  *
                     12:  */
                     13: 
                     14: #ifndef QEMU_JSON_LEXER_H
                     15: #define QEMU_JSON_LEXER_H
                     16: 
                     17: #include "qstring.h"
                     18: #include "qlist.h"
                     19: 
                     20: typedef enum json_token_type {
                     21:     JSON_OPERATOR = 100,
                     22:     JSON_INTEGER,
                     23:     JSON_FLOAT,
                     24:     JSON_KEYWORD,
                     25:     JSON_STRING,
                     26:     JSON_ESCAPE,
                     27:     JSON_SKIP,
1.1.1.2 ! root       28:     JSON_ERROR,
1.1       root       29: } JSONTokenType;
                     30: 
                     31: typedef struct JSONLexer JSONLexer;
                     32: 
                     33: typedef void (JSONLexerEmitter)(JSONLexer *, QString *, JSONTokenType, int x, int y);
                     34: 
                     35: struct JSONLexer
                     36: {
                     37:     JSONLexerEmitter *emit;
                     38:     int state;
                     39:     QString *token;
                     40:     int x, y;
                     41: };
                     42: 
                     43: void json_lexer_init(JSONLexer *lexer, JSONLexerEmitter func);
                     44: 
                     45: int json_lexer_feed(JSONLexer *lexer, const char *buffer, size_t size);
                     46: 
                     47: int json_lexer_flush(JSONLexer *lexer);
                     48: 
                     49: void json_lexer_destroy(JSONLexer *lexer);
                     50: 
                     51: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.