190 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| compile insert rti_CJSON_Equates
 | |
| /*
 | |
|    ** Copyright (C) 1992-2023 Revelation Software Inc. All Rights Reserved **
 | |
|    
 | |
|    This  program  is  proprietary and is not  to be used  by or  disclosed
 | |
|    to others, nor is it to be copied without written permission from
 | |
|    Revelation Technologies, Inc.
 | |
|    
 | |
|    Author   : RJC/Captain C
 | |
|    Date     : September 2016
 | |
|    Purpose  : Constants for use with the RevJSON DLL functions
 | |
| 
 | |
|    
 | |
|    Comments
 | |
|    ========
 | |
|    
 | |
|    The "safe" way of using RevJSON is to use the rti_CJSON function
 | |
|    with the methods detailed below.
 | |
|    
 | |
|    There is a "raw" API however that exposes the internal cJSON functions that
 | |
|    have not, by default, been prototyped - only prototype what you need to 
 | |
|    avoid DLL stub proliferation.
 | |
|    
 | |
|    The prototypes are defined below if you wish to add them to the DLLPROTOTYPE
 | |
|    entity at some point in the future (DLL_RTI_REVJSON)
 | |
|    
 | |
|    
 | |
|    Amended  Date        Reason
 | |
|    =======  ====        ======
 | |
|    Mr C     09 Mar 23   Added RJSON Error codes
 | |
|    Mr C     20 Apr 17   Added REVJSON_GETITEMVALUE$ method
 | |
| */
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| #ifndef _RTI_CJSON_EQUATES_
 | |
| #define _RTI_CJSON_EQUATES_
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
|    declare function rti_CJSON
 | |
|    
 | |
|    // rti_CJSON method constants
 | |
|    
 | |
|    equ REVJSON_PARSE$                     to 1;  // cJSON_Parse
 | |
|    equ REVJSON_PRINT$                     to 2;  // cJSON_Print
 | |
|    equ REVJSON_PRINTUNFORMATTED$          to 3;  // cJSON_PrintUnformatted
 | |
|    equ REVJSON_PRINTBUFFERED$             to 4;  // cJSON_PrintBuffered
 | |
|    equ REVJSON_DELETE$                    to 5;  // cJSON_Delete
 | |
|    equ REVJSON_GETARRAYSIZE$              to 6;  // cJSON_GetArraySize
 | |
|    equ REVJSON_GETARRAYITEM$              to 7;  // cJSON_GetArrayItem
 | |
|    equ REVJSON_GETOBJECTITEM$             to 8;  // cJSON_GetObjectItem
 | |
|    equ REVJSON_HASOBJECTITEM$             to 9;  // cJSON_HasObjectItem
 | |
|    equ REVJSON_GETERRORPTR$               to 10; // cJSON_GetErrorPtr
 | |
|    equ REVJSON_CREATENULL$                to 11; // cJSON_CreateNull
 | |
|    equ REVJSON_CREATETRUE$                to 12; // cJSON_CreateTrue
 | |
|    equ REVJSON_CREATEFALSE$               to 13; // cJSON_CreateFalse
 | |
|    equ REVJSON_CREATEBOOL$                to 14; // cJSON_CreateBool
 | |
|    equ REVJSON_CREATENUMBER$              to 15; // cJSON_CreateNumber
 | |
|    equ REVJSON_CREATESTRING$              to 16; // cJSON_CreateString
 | |
|    equ REVJSON_CREATEARRAY$               to 17; // cJSON_CreateArray
 | |
|    equ REVJSON_CREATEOBJECT$              to 18; // cJSON_CreateObject
 | |
|    equ REVJSON_CREATEINTARRAY$            to 19; // cJSON_CreateIntArray
 | |
|    equ REVJSON_CREATEFLOATARRAY$          to 20; // cJSON_CreateFloatArray
 | |
|    equ REVJSON_CREATEDOUBLEARRAY$         to 21; // cJSON_CreateDoubleArray
 | |
|    equ REVJSON_CREATESTRINGARRAY$         to 22; // cJSON_CreateStringArray
 | |
|    equ REVJSON_ADDITEMTOARRAY$            to 23; // cJSON_AddItemToArray
 | |
|    equ REVJSON_ADDITEMTOOBJECT$           to 24; // cJSON_AddItemToObject
 | |
|    equ REVJSON_ADDITEMTOOBJECTS$          to 25; // cJSON_AddItemToObjects
 | |
|    equ REVJSON_ADDITEMREFERENCETOARRAY$   to 26; // cJSON_AddItemReferenceToArray
 | |
|    equ REVJSON_ADDITEMREFERENCETOOBJECT$  to 27; // cJSON_AddItemReferenceToObject
 | |
|    equ REVJSON_DETACHITEMFROMARRAY$       to 28; // cJSON_DetachItemFromArray
 | |
|    equ REVJSON_DELETEITEMFROMARRAY$       to 29; // cJSON_DeleteItemFromArray
 | |
|    equ REVJSON_DETACHITEMFROMOBJECT$      to 30; // cJSON_DetachItemFromObject
 | |
|    equ REVJSON_DELETEITEMFROMOBJECT$      to 31; // cJSON_DeleteItemFromObject
 | |
|    equ REVJSON_INSERTITEMINARRAY$         to 32; // cJSON_InsertItemInArray
 | |
|    equ REVJSON_REPLACEITEMINARRAY$        to 33; // cJSON_ReplaceItemInArray
 | |
|    equ REVJSON_REPLACEITEMINOBJECT$       to 34; // cJSON_ReplaceItemInObject
 | |
|    equ REVJSON_DUPLICATE$                 to 35; // cJSON_Duplicate
 | |
|    equ REVJSON_PARSEWITHOPTS$             to 36; // cJSON_ParseWithOpts *** NOT IMPLEMENTED ***
 | |
|    equ REVJSON_MINIFY$                    to 37; // cJSON_Minify
 | |
|    equ REVJSON_FREE$                      to 38; // cJSON_Free
 | |
|    equ REVJSON_GETITEMNEXT$               to 39;
 | |
|    equ REVJSON_GETITEMCHILD$              to 40;
 | |
|    equ REVJSON_GETITEMTYPE$               to 41;
 | |
|    equ REVJSON_GETITEMNAME$               to 42;
 | |
|    equ REVJSON_GETITEMVALUE$              to 43; // cJSON_GetObjectItem or cJSON_GetArrayItem + cJSON_Print
 | |
|    
 | |
|    equ REVJSON_GETVALUE$                  to REVJSON_GETITEMVALUE$ ; // synonym
 | |
|    
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
|    
 | |
|    // RevJSON type IDs
 | |
|    
 | |
|    equ REVJSON_T_FALSE$                    to 0
 | |
|    equ REVJSON_T_TRUE$                     to 1
 | |
|    equ REVJSON_T_NULL$                     to 2
 | |
|    equ REVJSON_T_NUMBER$                   to 8
 | |
|    equ REVJSON_T_STRING$                   to 16
 | |
|    equ REVJSON_T_ARRAY$                    to 32
 | |
|    equ REVJSON_T_OBJECT$                   to 64
 | |
|       
 | |
|    equ REVJSON_T_ISREFERENCE$              to 256
 | |
|    equ REVJSON_T_STRINGISCONST$            to 512
 | |
|    
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
|    equ REVJSON_SUCCESS$                       to 0;
 | |
|    equ REVJSON_ERR_NULL_JSON$                 to -1;
 | |
|    equ REVJSON_ERR_NULL_RETBUFFER$            to -2;
 | |
|    equ REVJSON_ERR_NULL_VALUE$                to -3;
 | |
|    equ REVJSON_ERR_NULL_RETJSON$              to -4;
 | |
|    equ REVJSON_ERR_PARSE$                     to -5;
 | |
|    equ REVJSON_ERR_NULL_RETINT$               to -6;
 | |
|    equ REVJSON_ERR_NULL_NAME$                 to -7;
 | |
|    equ REVJSON_ERR_NULL_PARSEEND$             to -8;
 | |
|    
 | |
|    equ REVJSON_ERR_CREATE_DOC$                to -9;
 | |
|    equ REVJSON_ERR_INVALID_TYPE$              to -10;
 | |
|    equ REVJSON_ERR_BAD_MEMBER_NAME$           to -11; // Bad element name
 | |
|    equ REVJSON_ERR_BAD_ARRAY_SYNTAX$          to -12; // Invalid path - array syntax
 | |
|    equ REVJSON_ERR_BAD_ARRAY_INDEX$           to -13; // Invalid path - array out of bounds
 | |
|    equ REVJSON_ERR_NO_ARRAY_INDEX$            to -14; // Invalid path - No index
 | |
|    equ REVJSON_ERR_INVALID_JSON$              to -15; // Invalid handle
 | |
|    equ REVJSON_ERR_USE_RETBUFFER$             to -16;
 | |
|    equ REVJSON_ERR_BUFFER_TOO_SMALL$          to -17;
 | |
|    equ REVJSON_ERR_BAD_BUFFER_SIZE$           to -18;
 | |
|    
 | |
|    equ REVJSON_ERR_STDEXCEPTION$              to -99;
 | |
| 
 | |
|    equ REVJSON_MAX_ERROR_LEN$                 to 2048; // LPSTR pErrorText length
 | |
|                                                        // including null terminator
 | |
|                                                        
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| /////////////////////////////////////////////////////////////////////////////// 
 | |
| /*
 | |
|    "Raw" API prototypes - only add these to DLL_RTI_REVJSON if you really need 
 | |
|    them and you know what you're doing. 
 | |
|    
 | |
|    LPVOID  STDCALL JSON_Parse( LPSTR )                                     as rti_RevJSON_Parse
 | |
|    LPVOID  STDCALL JSON_Print( LPVOID )                                    as rti_RevJSON_Print
 | |
|    LPVOID  STDCALL JSON_PrintUnformatted( LPVOID )                         as rti_RevJSON_PrintUnformatted
 | |
|    LPVOID  STDCALL JSON_PrintBuffered( LPVOID, INT, INT )                  as rti_RevJSON_PrintBuffered
 | |
|    VOID    STDCALL JSON_Delete( LPVOID )                                   as rti_RevJSON_Delete
 | |
|    INT     STDCALL JSON_GetArraySize( LPVOID )                             as rti_RevJSON_GetArraySize
 | |
|    LPVOID  STDCALL JSON_GetArrayItem( LPVOID, INT )                        as rti_RevJSON_GetArrayItem
 | |
|    LPVOID  STDCALL JSON_GetObjectItem( LPVOID, LPSTR )                     as rti_RevJSON_GetObjectItem
 | |
|    INT     STDCALL JSON_HasObjectItem( LPVOID, LPSTR )                     as rti_RevJSON_HasObjectItem
 | |
|    LPSTR   STDCALL JSON_GetErrorPtr( VOID )                                as rti_RevJSON_GetErrorPtr
 | |
|    LPVOID  STDCALL JSON_CreateNull( VOID )                                 as rti_RevJSON_CreateNull
 | |
|    LPVOID  STDCALL JSON_CreateTrue( VOID )                                 as rti_RevJSON_CreateTrue
 | |
|    LPVOID  STDCALL JSON_CreateFalse( VOID )                                as rti_RevJSON_CreateFalse
 | |
|    LPVOID  STDCALL JSON_CreateBool( INT )                                  as rti_RevJSON_CreateBool
 | |
|    LPVOID  STDCALL JSON_CreateNumber( DOUBLE )                             as rti_RevJSON_CreateNumber
 | |
|    LPVOID  STDCALL JSON_CreateString( LPSTR )                              as rti_RevJSON_CreateString
 | |
|    LPVOID  STDCALL JSON_CreateArray( VOID )                                as rti_RevJSON_CreateArray
 | |
|    LPVOID  STDCALL JSON_CreateObject( VOID )                               as rti_RevJSON_CreateObject
 | |
|    LPVOID  STDCALL JSON_CreateIntArray( LPVOID, INT )                      as rti_RevJSON_CreateIntArray
 | |
|    LPVOID  STDCALL JSON_CreateFloatArray( LPVOID, INT )                    as rti_RevJSON_CreateFloatArray
 | |
|    LPVOID  STDCALL JSON_CreateDoubleArray( LPVOID, INT )                   as rti_RevJSON_CreateDoubleArray
 | |
|    LPVOID  STDCALL JSON_CreateStringArray( LPVOID, INT )                   as rti_RevJSON_CreateStringArray
 | |
|    VOID    STDCALL JSON_AddItemToArray( LPVOID, LPVOID )                   as rti_RevJSON_AddItemToArray
 | |
|    VOID    STDCALL JSON_AddItemToObject( LPVOID, LPSTR, LPVOID )           as rti_RevJSON_AddItemToObject
 | |
|    VOID    STDCALL JSON_AddItemToObjectCS( LPVOID, LPSTR, LPVOID )         as rti_RevJSON_AddItemToObjectCS
 | |
|    VOID    STDCALL JSON_AddItemReferenceToArray( LPVOID, LPVOID )          as rti_RevJSON_AddItemReferenceToArray
 | |
|    VOID    STDCALL JSON_AddItemReferenceToObject( LPVOID, LPSTR, LPVOID )  as rti_RevJSON_AddItemReferenceToObject
 | |
|    LPVOID  STDCALL JSON_DetachItemFromArray( LPVOID, INT )                 as rti_RevJSON_DetachItemFromArray
 | |
|    VOID    STDCALL JSON_DeleteItemFromArray( LPVOID, INT )                 as rti_RevJSON_DeleteItemFromArray
 | |
|    LPVOID  STDCALL JSON_DetachItemFromObject( LPVOID, LPSTR )              as rti_RevJSON_DetachItemFromObject
 | |
|    VOID    STDCALL JSON_DeleteItemFromObject( LPVOID, LPSTR )              as rti_RevJSON_DeleteItemFromObject
 | |
|    VOID    STDCALL JSON_InsertItemInArray( LPVOID, INT, LPVOID )           as rti_RevJSON_InsertItemInArray
 | |
|    VOID    STDCALL JSON_ReplaceItemInArray( LPVOID, INT, LPVOID )          as rti_RevJSON_ReplaceItemInArray
 | |
|    VOID    STDCALL JSON_ReplaceItemInObject( LPVOID, LPSTR, LPVOID )       as rti_RevJSON_ReplaceItemInObject
 | |
|    LPVOID  STDCALL JSON_Duplicate( LPVOID, INT )                           as rti_RevJSON_Duplicate
 | |
|    LPVOID  STDCALL JSON_ParseWithOpts( LPSTR, LPVOID, INT )                as rti_RevJSON_ParseWithOpts
 | |
|    VOID    STDCALL JSON_Minify( LPSTR )                                    as rti_RevJSON_Minify
 | |
|    VOID    STDCALL JSON_Free( LPVOID )                                     as rti_RevJSON_Free
 | |
|    LPVOID  STDCALL JSON_GetNextItem( LPVOID )                              as rti_RevJSON_GetNextItem
 | |
|    LPVOID  STDCALL JSON_GetChildItem( LPVOID )                             as rti_RevJSON_GetChildItem
 | |
|    int     STDCALL JSON_GetItemType( LPVOID )                              as rti_RevJSON_GetItemType
 | |
|    LPSTR   STDCALL JSON_GetItemName( LPVOID )                              as rti_RevJSON_GetItemName
 | |
| */                                                     
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////                                                      
 | |
| #endif
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////                                                      
 | |
| 
 |