00001 /* 00002 Licensed to the Apache Software Foundation (ASF) under one 00003 or more contributor license agreements. See the NOTICE file 00004 distributed with this work for additional information 00005 regarding copyright ownership. The ASF licenses this file 00006 to you under the Apache License, Version 2.0 (the 00007 "License"); you may not use this file except in compliance 00008 with the License. You may obtain a copy of the License at 00009 00010 http://www.apache.org/licenses/LICENSE-2.0 00011 00012 Unless required by applicable law or agreed to in writing, 00013 software distributed under the License is distributed on an 00014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 00015 KIND, either express or implied. See the License for the 00016 specific language governing permissions and limitations 00017 under the License. 00018 */ 00019 00020 #ifndef JSON_TOKENIZER_H 00021 #define JSON_TOKENIZER_H 00022 00023 #include <wchar.h> 00024 #include "json_schema.h" 00025 00026 /* Tokens which are not part of the schema */ 00027 enum json_tokens 00028 { 00029 TK_SPACE = 42424242, 00030 TK_ILLEGAL 00031 }; 00032 00033 struct Token 00034 { 00035 char *z; 00036 double d; 00037 int b; 00038 }; 00039 typedef struct Token Token; 00040 00041 int json_get_token (const wchar_t * z, const size_t len, int *tokenType, 00042 double *number); 00043 00044 #endif