Files
OpenBMC/meta-luxshare/meta-bhs/recipes-oem/oem-fsc/dimm-fsc/lux_json_api.h
T
2026-04-23 17:07:55 +08:00

57 lines
2.5 KiB
C
Executable File

/***********************************************************
* Copyright (C), 2021, LuxShare co.,
*
* File name : LuxcJSON
*
* Description :
* JSON API
*
* History:
*
* <Date> <Author> <version> <Modification>
* 2021/04/21 Laurence Zhou 0.01 First draft
***********************************************************/
#ifndef LUX_JSON_API_H
#define LUX_JSON_API_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
#include "lux_system_api.h"
#define MAXSIZE 128
#ifdef true
#undef true
#endif
#define true ((cJSON_bool)1)
#ifdef false
#undef false
#endif
#define false ((cJSON_bool)0)
extern cJSON* LuxcJSONParseJsonFile(char* pcFileName);
extern char* LuxcJSONPrint(const cJSON* psItem);
extern cJSON* LuxcJSONGetObjectItem(const cJSON* const psObject, const char* const pcKey);
extern EFuncRetCode LuxcJSONGetObjectIntValue(const cJSON* const psObject, const char* const pcKey,int* piValue );
extern EFuncRetCode LuxcJSONGetObjectDoubleValue(const cJSON* const psObject,const char* const pcKey, double* pdValue);
extern EFuncRetCode LuxcJSONGetObjectStringValue(const cJSON* const psObject, const char* const pcKey, char* pcValue );
extern EFuncRetCode LuxcJSONGetObjectBooleanValue(const cJSON* const psObject, const char* const pcKey, cJSON_bool* pbValue);
extern EFuncRetCode LuxcJSONGetObjectArraySize(const cJSON* const psObject, const char* const pcKey, int* piSize);
extern EFuncRetCode LuxcJSONGetObjectIntArray(const cJSON* const psObject, const char* const pcKey, int* piArray,int* piSize);
extern EFuncRetCode LuxcJSONGetObjectDoubleArray(const cJSON* const psObject, const char* const pcKey, double* pdArray, int* piSize );
extern EFuncRetCode LuxcJSONGetObjectStringArray(const cJSON* const psObject, const char* const pcKey, char (*pcArray)[MAXSIZE],int* piSize);
extern EFuncRetCode LuxcJSONGetObjectIntArray2(const cJSON* const psObject, const char* const pcKey, int (*piArray2)[MAXSIZE],int* piRow, int* piColumn);
extern EFuncRetCode LuxcJSONGetObjectDoubleArray2(const cJSON* const psObject, const char* const pcKey, double (*pdArray2)[MAXSIZE],int* piRow, int* piColumn);
extern EFuncRetCode LuxcJSONDelete(cJSON* psItem);
extern EFuncRetCode LuxcJSONFree(void* psObject);
EFuncRetCode LuxcJSONGetOjectStringSize(const cJSON* const psObject, const char* const pcKey, int *piSize);
extern EFuncRetCode LuxcJSONGetArrayRowColumnSize(const cJSON* const psObject, const char* const pcKey, int* piRow,int* piColumn);
#endif /* LUX_JSON_API_H */