irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

packStruct.h File Reference
#include "rodsDef.h"
Include dependency graph for packStruct.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  packInstruct_t
 
struct  packConstant_t
 
struct  packType_t
 
struct  packItem
 
struct  bytesBufArray_t
 
struct  packedOutput_t
 

Macros

#define MAX_PI_LEN   1024 /* max pack instruct length */
 
#define SEMI_COL_FLAG   0x2 /* got semi colon at end */
 
#define PACKED_OUT_ALLOC_SZ   (16*1024) /* initial alloc size for packedOutput */
 
#define SUB_STRUCT_ALLOC_SZ
 
#define MAX_PACKED_OUT_ALLOC_SZ   (1024*1024)
 
#define NULL_PTR_PACK_STR   "%@#ANULLSTR$%"
 
#define START_TAG_FL   0
 
#define END_TAG_FL   1
 
#define LF_FL   2 /* line feed */
 
#define PACK_TABLE_END_PI   "PACK_TABLE_END_PI"
 
#define XML_TAG   "iRODSStruct"
 
#define MAX_PACK_DIM   20
 
#define NON_POINTER   0
 
#define A_POINTER   1
 
#define NO_FREE_POINTER   2
 
#define NO_PACK_POINTER   3
 
#define FREE_POINTER   0x1 /* free the pointer after packing */
 

Typedefs

typedef struct packItem packItem_t
 

Enumerations

enum  packTypeInx_t {
  PACK_CHAR_TYPE, PACK_BIN_TYPE, PACK_STR_TYPE, PACK_PI_STR_TYPE,
  PACK_INT_TYPE, PACK_DOUBLE_TYPE, PACK_STRUCT_TYPE, PACK_DEPENDENT_TYPE,
  PACK_INT_DEPENDENT_TYPE, PACK_INT16_TYPE
}
 
enum  packOpr_t { PACK_OPR, UNPACK_OPR }
 

Functions

int packStruct (const void *inStruct, bytesBuf_t **packedResult, const char *packInstName, const packInstruct_t *myPackTable, int packFlag, irodsProt_t irodsProt)
 
int unpackStruct (const void *inPackStr, void **outStruct, const char *packInstName, const packInstruct_t *myPackTable, irodsProt_t irodsProt)
 
int parsePackInstruct (const char *packInstruct, packItem_t &packItemHead)
 
int copyStrFromPiBuf (const char *&inBuf, char *outBuf, int dependentFlag)
 
int packTypeLookup (const char *typeName)
 
packedOutput_t initPackedOutput (const int len)
 
packedOutput_t initPackedOutputWithBuf (void *buf, const int len)
 
int resolvePackedItem (packItem_t &myPackedItem, const void *&inPtr, packOpr_t packOpr)
 
int resolveIntDepItem (packItem_t &myPackedItem)
 
int resolveIntInItem (const char *name, const packItem_t &myPackedItem)
 
const char * matchPackInstruct (const char *name, const packInstruct_t *myPackTable)
 
int resolveDepInArray (packItem_t &myPackedItem)
 
int getNumElement (const packItem_t &myPackedItem)
 
int getNumHintElement (const packItem_t &myPackedItem)
 
int extendPackedOutput (packedOutput_t &packedOutput, int extLen, void *&outPtr)
 
int packItem (packItem_t &myPackedItem, const void *&inPtr, packedOutput_t &packedOutput, const packInstruct_t *myPackTable, int packFlag, irodsProt_t irodsProt)
 
int packPointerItem (packItem_t &myPackedItem, packedOutput_t &packedOutput, const packInstruct_t *myPackTable, int packFlag, irodsProt_t irodsProt)
 
int packNonpointerItem (packItem_t &myPackedItem, const void *&inPtr, packedOutput_t &packedOutput, const packInstruct_t *myPackTable, int packFlag, irodsProt_t irodsProt)
 
int packChar (const void *&inPtr, packedOutput_t &packedOutput, int len, const char *name, const packTypeInx_t typeInx, irodsProt_t irodsProt)
 
int packString (const void *&inPtr, packedOutput_t &packedOutput, int maxStrLen, const char *name, irodsProt_t irodsProt)
 
int packNatString (const void *&inPtr, packedOutput_t &packedOutput, int maxStrLen)
 
int packXmlString (const void *&inPtr, packedOutput_t &packedOutput, int maxStrLen, const char *name)
 
int strToXmlStr (const char *inStr, char *&outXmlStr)
 
int xmlStrToStr (const char *inStr, int myLen, char *&outStr)
 
int packInt (const void *&inPtr, packedOutput_t &packedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int packInt16 (const void *&inPtr, packedOutput_t &packedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int packDouble (const void *&inPtr, packedOutput_t &packedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int packChildStruct (const void *&inPtr, packedOutput_t &packedOutput, const packItem_t &myPackedItem, const packInstruct_t *myPackTable, int numElement, int packFlag, irodsProt_t irodsProt, const char *packInstruct)
 
int freePackedItem (packItem_t &packItemHead)
 
int unpackItem (packItem_t &myPackedItem, const void *&inPtr, packedOutput_t &unpackedOutput, const packInstruct_t *myPackTable, irodsProt_t irodsProt)
 
int unpackNonpointerItem (packItem_t &myPackedItem, const void *&inPtr, packedOutput_t &unpackedOutput, const packInstruct_t *myPackTable, irodsProt_t irodsProt)
 
int unpackChar (const void *&inPtr, packedOutput_t &packedOutput, int len, const char *name, const packTypeInx_t typeInx, irodsProt_t irodsProt)
 
int unpackCharToOutPtr (const void *&inPtr, void *&outPtr, int len, const char *name, const packTypeInx_t typeInx, irodsProt_t irodsProt)
 
int unpackNatCharToOutPtr (const void *&inPtr, void *&outPtr, int len)
 
int unpackXmlCharToOutPtr (const void *&inPtr, void *&outPtr, int len, const char *name, const packTypeInx_t typeInx)
 
int unpackString (const void *&inPtr, packedOutput_t &unpackedOutput, int maxStrLen, const char *name, irodsProt_t irodsProt, char *&outStr)
 
int unpackNatString (const void *&inPtr, packedOutput_t &packedOutput, int maxStrLen, char *&outStr)
 
int unpackXmlString (const void *&inPtr, packedOutput_t &unpackedOutput, int maxStrLen, const char *name, char *&outStr)
 
int unpackInt (const void *&inPtr, packedOutput_t &packedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackIntToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackXmlIntToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name)
 
int unpackNatIntToOutPtr (const void *&inPtr, void *&outPtr, int numElement)
 
int unpackInt16 (const void *&inPtr, packedOutput_t &unpackedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackInt16ToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackNatInt16ToOutPtr (const void *&inPtr, void *&outPtr, int numElement)
 
int unpackXmlInt16ToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name)
 
int unpackXmlDoubleToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name)
 
int unpackDouble (const void *&inPtr, packedOutput_t &unpackedOutput, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackDoubleToOutPtr (const void *&inPtr, void *&outPtr, int numElement, const char *name, irodsProt_t irodsProt)
 
int unpackNatDoubleToOutPtr (const void *&inPtr, void *&outPtr, int numElement)
 
int unpackChildStruct (const void *&inPtr, packedOutput_t &unpackedOutput, const packItem_t &myPackedItem, const packInstruct_t *myPackTable, int numElement, irodsProt_t irodsProt, const char *packInstructInp)
 
int unpackPointerItem (packItem_t &myPackedItem, const void *&inPtr, packedOutput_t &unpackedOutput, const packInstruct_t *myPackTable, irodsProt_t irodsProt)
 
void * addPointerToPackedOut (packedOutput_t &packedOutput, int len, void *pointer)
 
int unpackStringToOutPtr (const void *&inPtr, void *&outPtr, int maxStrLen, const char *name, irodsProt_t irodsProt)
 
int unpackNatStringToOutPtr (const void *&inPtr, void *&outPtr, int maxStrLen)
 
int unpackXmlStringToOutPtr (const void *&inPtr, void *&outPtr, int maxStrLen, const char *name)
 
int iparseDependent (packItem_t &myPackedItem)
 
int resolveStrInItem (packItem_t &myPackedItem)
 
int packNullString (packedOutput_t &packedOutput)
 
int unpackNullString (const void *&inPtr, packedOutput_t &unpackedOutput, const packItem_t &myPackedItem, irodsProt_t irodsProt)
 
int getNumStrAndStrLen (const packItem_t &myPackedItem, int &numStr, int &maxStrLen)
 
int getAllocLenForStr (const packItem_t &myPackedItem, const void *inPtr, int numStr, int maxStrLen)
 
int packXmlTag (const char *name, packedOutput_t &packedOutput, int endFlag)
 
int parseXmlValue (const void *&inPtr, const char *name, int &endTagLen)
 
int parseXmlTag (const void *inPtr, const char *name, int flag, int &skipLen)
 
int alignPackedOutput64 (packedOutput_t &packedOutput)
 
int packNopackPointer (void *inPtr, packedOutput_t &packedOutput, int len, const char *name, irodsProt_t irodsProt)
 
int ovStrcpy (char *outStr, const char *inStr)
 

Macro Definition Documentation

◆ A_POINTER

#define A_POINTER   1

Definition at line 73 of file packStruct.h.

◆ END_TAG_FL

#define END_TAG_FL   1

Definition at line 23 of file packStruct.h.

◆ FREE_POINTER

#define FREE_POINTER   0x1 /* free the pointer after packing */

Definition at line 78 of file packStruct.h.

◆ LF_FL

#define LF_FL   2 /* line feed */

Definition at line 24 of file packStruct.h.

◆ MAX_PACK_DIM

#define MAX_PACK_DIM   20

Definition at line 69 of file packStruct.h.

◆ MAX_PACKED_OUT_ALLOC_SZ

#define MAX_PACKED_OUT_ALLOC_SZ   (1024*1024)

Definition at line 18 of file packStruct.h.

◆ MAX_PI_LEN

#define MAX_PI_LEN   1024 /* max pack instruct length */

Definition at line 14 of file packStruct.h.

◆ NO_FREE_POINTER

#define NO_FREE_POINTER   2

Definition at line 74 of file packStruct.h.

◆ NO_PACK_POINTER

#define NO_PACK_POINTER   3

Definition at line 75 of file packStruct.h.

◆ NON_POINTER

#define NON_POINTER   0

Definition at line 72 of file packStruct.h.

◆ NULL_PTR_PACK_STR

#define NULL_PTR_PACK_STR   "%@#ANULLSTR$%"

Definition at line 19 of file packStruct.h.

◆ PACK_TABLE_END_PI

#define PACK_TABLE_END_PI   "PACK_TABLE_END_PI"

Definition at line 28 of file packStruct.h.

◆ PACKED_OUT_ALLOC_SZ

#define PACKED_OUT_ALLOC_SZ   (16*1024) /* initial alloc size for packedOutput */

Definition at line 16 of file packStruct.h.

◆ SEMI_COL_FLAG

#define SEMI_COL_FLAG   0x2 /* got semi colon at end */

Definition at line 15 of file packStruct.h.

◆ START_TAG_FL

#define START_TAG_FL   0

Definition at line 22 of file packStruct.h.

◆ SUB_STRUCT_ALLOC_SZ

#define SUB_STRUCT_ALLOC_SZ
Value:
1024 /* initial alloc size for unpacking sub
struct */

Definition at line 17 of file packStruct.h.

◆ XML_TAG

#define XML_TAG   "iRODSStruct"

Definition at line 30 of file packStruct.h.

Typedef Documentation

◆ packItem_t

typedef struct packItem packItem_t

Enumeration Type Documentation

◆ packOpr_t

enum packOpr_t
Enumerator
PACK_OPR 
UNPACK_OPR 

Definition at line 57 of file packStruct.h.

◆ packTypeInx_t

Enumerator
PACK_CHAR_TYPE 
PACK_BIN_TYPE 
PACK_STR_TYPE 
PACK_PI_STR_TYPE 
PACK_INT_TYPE 
PACK_DOUBLE_TYPE 
PACK_STRUCT_TYPE 
PACK_DEPENDENT_TYPE 
PACK_INT_DEPENDENT_TYPE 
PACK_INT16_TYPE 

Definition at line 43 of file packStruct.h.

Function Documentation

◆ addPointerToPackedOut()

void* addPointerToPackedOut ( packedOutput_t packedOutput,
int  len,
void *  pointer 
)

Definition at line 2812 of file packStruct.cpp.

◆ alignPackedOutput64()

int alignPackedOutput64 ( packedOutput_t packedOutput)

Definition at line 3095 of file packStruct.cpp.

References alignDouble(), packedOutput_t::bBuf, BytesBuf::buf, packedOutput_t::bufSize, extendPackedOutput(), BytesBuf::len, and NULL.

Here is the call graph for this function:

◆ copyStrFromPiBuf()

int copyStrFromPiBuf ( const char *&  inBuf,
char *  outBuf,
int  dependentFlag 
)

Definition at line 277 of file packStruct.cpp.

Referenced by parsePackInstruct().

◆ extendPackedOutput()

int extendPackedOutput ( packedOutput_t packedOutput,
int  extLen,
void *&  outPtr 
)

Definition at line 1099 of file packStruct.cpp.

References packedOutput_t::bBuf, BytesBuf::buf, packedOutput_t::bufSize, BytesBuf::len, LOG_ERROR, MAX_PACKED_OUT_ALLOC_SZ, NULL, PACKED_OUT_ALLOC_SZ, rodsLog(), and SYS_MALLOC_ERR.

Referenced by alignPackedOutput64(), packChar(), packNatString(), packStruct(), and packXmlString().

Here is the call graph for this function:

◆ freePackedItem()

int freePackedItem ( packItem_t packItemHead)

Definition at line 1661 of file packStruct.cpp.

Referenced by resolveIntDepItem().

◆ getAllocLenForStr()

int getAllocLenForStr ( const packItem_t myPackedItem,
const void *  inPtr,
int  numStr,
int  maxStrLen 
)

Definition at line 2940 of file packStruct.cpp.

◆ getNumElement()

int getNumElement ( const packItem_t myPackedItem)

Definition at line 1081 of file packStruct.cpp.

References packItem::dim, and packItem::dimSize.

Referenced by packNonpointerItem(), and packPointerItem().

◆ getNumHintElement()

int getNumHintElement ( const packItem_t myPackedItem)

Definition at line 1090 of file packStruct.cpp.

References packItem::hintDim, and packItem::hintDimSize.

Referenced by packPointerItem().

◆ getNumStrAndStrLen()

int getNumStrAndStrLen ( const packItem_t myPackedItem,
int numStr,
int maxStrLen 
)

Definition at line 2914 of file packStruct.cpp.

◆ initPackedOutput()

packedOutput_t initPackedOutput ( const int  len)

Definition at line 347 of file packStruct.cpp.

References packedOutput_t::bBuf, and BytesBuf::buf.

Referenced by packStruct(), and unpackStruct().

◆ initPackedOutputWithBuf()

packedOutput_t initPackedOutputWithBuf ( void *  buf,
const int  len 
)

Definition at line 359 of file packStruct.cpp.

References packedOutput_t::bBuf, BytesBuf::buf, and buf.

◆ iparseDependent()

int iparseDependent ( packItem_t myPackedItem)

Definition at line 421 of file packStruct.cpp.

References PACK_DEPENDENT_TYPE, PACK_INT_DEPENDENT_TYPE, resolveIntDepItem(), resolveStrInItem(), irods.pypyodbc::status, and packItem::typeInx.

Referenced by resolvePackedItem().

Here is the call graph for this function:

◆ matchPackInstruct()

const char* matchPackInstruct ( const char *  name,
const packInstruct_t myPackTable 
)

Definition at line 659 of file packStruct.cpp.

References irods::lookup_table< ValueType, KeyType, HashType >::end(), irods::lookup_table< ValueType, KeyType, HashType >::find(), irods::get_pack_table(), LOG_ERROR, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, PACK_TABLE_END_PI, packInstruct_t::packInstruct, rodsLog(), and RodsPackTable.

Here is the call graph for this function:

◆ ovStrcpy()

int ovStrcpy ( char *  outStr,
const char *  inStr 
)

◆ packChar()

int packChar ( const void *&  inPtr,
packedOutput_t packedOutput,
int  len,
const char *  name,
const packTypeInx_t  typeInx,
irodsProt_t  irodsProt 
)

Definition at line 1154 of file packStruct.cpp.

References base64_encode(), packedOutput_t::bBuf, END_TAG_FL, extendPackedOutput(), BytesBuf::len, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, PACK_BIN_TYPE, packTypeTable, packXmlTag(), START_TAG_FL, irods.pypyodbc::status, and XML_PROT.

Referenced by packNonpointerItem(), and packPointerItem().

Here is the call graph for this function:

◆ packChildStruct()

int packChildStruct ( const void *&  inPtr,
packedOutput_t packedOutput,
const packItem_t myPackedItem,
const packInstruct_t myPackTable,
int  numElement,
int  packFlag,
irodsProt_t  irodsProt,
const char *  packInstruct 
)

Definition at line 1595 of file packStruct.cpp.

Referenced by packNonpointerItem(), packPointerItem(), and packStruct().

◆ packDouble()

int packDouble ( const void *&  inPtr,
packedOutput_t packedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 1541 of file packStruct.cpp.

Referenced by packNonpointerItem(), and packPointerItem().

◆ packInt()

int packInt ( const void *&  inPtr,
packedOutput_t packedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 1414 of file packStruct.cpp.

Referenced by packNonpointerItem(), packNopackPointer(), and packPointerItem().

◆ packInt16()

int packInt16 ( const void *&  inPtr,
packedOutput_t packedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 1477 of file packStruct.cpp.

Referenced by packNonpointerItem(), and packPointerItem().

◆ packItem()

int packItem ( packItem_t myPackedItem,
const void *&  inPtr,
packedOutput_t packedOutput,
const packInstruct_t myPackTable,
int  packFlag,
irodsProt_t  irodsProt 
)

Definition at line 1132 of file packStruct.cpp.

References PACK_OPR, packNonpointerItem(), packPointerItem(), packItem::pointerType, resolvePackedItem(), and irods.pypyodbc::status.

Here is the call graph for this function:

◆ packNatString()

int packNatString ( const void *&  inPtr,
packedOutput_t packedOutput,
int  maxStrLen 
)

Definition at line 1226 of file packStruct.cpp.

References packedOutput_t::bBuf, extendPackedOutput(), BytesBuf::len, NULL, irods.pypyodbc::status, SYS_MALLOC_ERR, and USER_PACKSTRUCT_INPUT_ERR.

Referenced by packString().

Here is the call graph for this function:

◆ packNonpointerItem()

int packNonpointerItem ( packItem_t myPackedItem,
const void *&  inPtr,
packedOutput_t packedOutput,
const packInstruct_t myPackTable,
int  packFlag,
irodsProt_t  irodsProt 
)

◆ packNopackPointer()

int packNopackPointer ( void *  inPtr,
packedOutput_t packedOutput,
int  len,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 3124 of file packStruct.cpp.

References bytesBufArray_t::bBufArray, BytesBuf::buf, BytesBuf::len, generate_iadmin_commands_for_41_to_42_upgrade::name, packedOutput_t::nopackBufArray, NULL, bytesBufArray_t::numBuf, packInt(), PTR_ARRAY_MALLOC_LEN, and irods.pypyodbc::status.

Referenced by packPointerItem().

Here is the call graph for this function:

◆ packNullString()

int packNullString ( packedOutput_t packedOutput)

Definition at line 1400 of file packStruct.cpp.

Referenced by packPointerItem().

◆ packPointerItem()

◆ packString()

int packString ( const void *&  inPtr,
packedOutput_t packedOutput,
int  maxStrLen,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 1211 of file packStruct.cpp.

References generate_iadmin_commands_for_41_to_42_upgrade::name, packNatString(), packXmlString(), irods.pypyodbc::status, and XML_PROT.

Referenced by packNonpointerItem(), and packPointerItem().

Here is the call graph for this function:

◆ packStruct()

int packStruct ( const void *  inStruct,
bytesBuf_t **  packedResult,
const char *  packInstName,
const packInstruct_t myPackTable,
int  packFlag,
irodsProt_t  irodsProt 
)

◆ packTypeLookup()

int packTypeLookup ( const char *  typeName)

◆ packXmlString()

int packXmlString ( const void *&  inPtr,
packedOutput_t packedOutput,
int  maxStrLen,
const char *  name 
)

Definition at line 1265 of file packStruct.cpp.

References packedOutput_t::bBuf, END_TAG_FL, extendPackedOutput(), BytesBuf::len, LOG_ERROR, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, packXmlTag(), rodsLog(), START_TAG_FL, irods.pypyodbc::status, strToXmlStr(), SYS_INTERNAL_NULL_INPUT_ERR, SYS_MALLOC_ERR, and USER_PACKSTRUCT_INPUT_ERR.

Referenced by packString().

Here is the call graph for this function:

◆ packXmlTag()

int packXmlTag ( const char *  name,
packedOutput_t packedOutput,
int  endFlag 
)

Definition at line 2960 of file packStruct.cpp.

Referenced by packChar(), and packXmlString().

◆ parsePackInstruct()

int parsePackInstruct ( const char *  packInstruct,
packItem_t packItemHead 
)

Definition at line 91 of file packStruct.cpp.

References A_POINTER, buf, copyStrFromPiBuf(), LOG_ERROR, MAX_PI_LEN, packItem::name, NAME_LEN, packItem::next, NO_FREE_POINTER, NO_PACK_POINTER, NULL, packTypeLookup(), packItem::pointerType, packItem::prev, rodsLog(), rstrcpy(), packItem::strValue, SYS_PACK_INSTRUCT_FORMAT_ERR, and packItem::typeInx.

Referenced by resolveIntDepItem().

Here is the call graph for this function:

◆ parseXmlTag()

int parseXmlTag ( const void *  inPtr,
const char *  name,
int  flag,
int skipLen 
)

Definition at line 3027 of file packStruct.cpp.

References END_TAG_FL, LF_FL, LOG_DEBUG10, LOG_ERROR, MAX_NAME_LEN, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, rodsLog(), and SYS_PACK_INSTRUCT_FORMAT_ERR.

Here is the call graph for this function:

◆ parseXmlValue()

int parseXmlValue ( const void *&  inPtr,
const char *  name,
int endTagLen 
)

Definition at line 2988 of file packStruct.cpp.

◆ resolveDepInArray()

int resolveDepInArray ( packItem_t myPackedItem)

Definition at line 692 of file packStruct.cpp.

References irods.pypyodbc::buffer, packItem::dim, packItem::dimSize, packItem::hintDim, packItem::hintDimSize, LOG_ERROR, MAX_PACK_DIM, packItem::name, resolveIntInItem(), rodsLog(), and SYS_PACK_INSTRUCT_FORMAT_ERR.

Referenced by resolvePackedItem().

Here is the call graph for this function:

◆ resolveIntDepItem()

int resolveIntDepItem ( packItem_t myPackedItem)

Definition at line 437 of file packStruct.cpp.

References buf, freePackedItem(), LOG_ERROR, MAX_NAME_LEN, packItem::name, packItem::next, NULL, parsePackInstruct(), packItem::prev, resolveIntInItem(), rodsLog(), irods.pypyodbc::status, and SYS_PACK_INSTRUCT_FORMAT_ERR.

Referenced by iparseDependent().

Here is the call graph for this function:

◆ resolveIntInItem()

int resolveIntInItem ( const char *  name,
const packItem_t myPackedItem 
)

Definition at line 586 of file packStruct.cpp.

References packItem::intValue, isAllDigit(), packItem::name, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, packType_t::number, PACK_INT_TYPE, PACK_TABLE_END_PI, PackConstantTable, packTypeTable, packItem::parent, packItem::prev, SYS_PACK_INSTRUCT_FORMAT_ERR, packItem::typeInx, and packConstant_t::value.

Referenced by resolveDepInArray(), and resolveIntDepItem().

Here is the call graph for this function:

◆ resolvePackedItem()

int resolvePackedItem ( packItem_t myPackedItem,
const void *&  inPtr,
packOpr_t  packOpr 
)

Definition at line 371 of file packStruct.cpp.

References ialignAddr(), iparseDependent(), LOG_ERROR, packItem::name, NULL, PACK_OPR, packItem::pointer, packItem::pointerType, resolveDepInArray(), rodsLog(), irods.pypyodbc::status, packItem::strValue, and SYS_PACK_INSTRUCT_FORMAT_ERR.

Referenced by packItem().

Here is the call graph for this function:

◆ resolveStrInItem()

int resolveStrInItem ( packItem_t myPackedItem)

Definition at line 625 of file packStruct.cpp.

References LOG_ERROR, packItem::name, generate_iadmin_commands_for_41_to_42_upgrade::name, NULL, packType_t::number, PACK_PI_STR_TYPE, PACK_STRUCT_TYPE, packTypeTable, packItem::parent, packItem::prev, rodsLog(), packItem::strValue, SYS_PACK_INSTRUCT_FORMAT_ERR, and packItem::typeInx.

Referenced by iparseDependent().

Here is the call graph for this function:

◆ strToXmlStr()

int strToXmlStr ( const char *  inStr,
char *&  outXmlStr 
)

Definition at line 1315 of file packStruct.cpp.

References NULL.

Referenced by packXmlString().

◆ unpackChar()

int unpackChar ( const void *&  inPtr,
packedOutput_t packedOutput,
int  len,
const char *  name,
const packTypeInx_t  typeInx,
irodsProt_t  irodsProt 
)

Definition at line 1795 of file packStruct.cpp.

◆ unpackCharToOutPtr()

int unpackCharToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  len,
const char *  name,
const packTypeInx_t  typeInx,
irodsProt_t  irodsProt 
)

Definition at line 1819 of file packStruct.cpp.

◆ unpackChildStruct()

int unpackChildStruct ( const void *&  inPtr,
packedOutput_t unpackedOutput,
const packItem_t myPackedItem,
const packInstruct_t myPackTable,
int  numElement,
irodsProt_t  irodsProt,
const char *  packInstructInp 
)

Definition at line 2465 of file packStruct.cpp.

Referenced by unpackStruct().

◆ unpackDouble()

int unpackDouble ( const void *&  inPtr,
packedOutput_t unpackedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2334 of file packStruct.cpp.

◆ unpackDoubleToOutPtr()

int unpackDoubleToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2354 of file packStruct.cpp.

◆ unpackInt()

int unpackInt ( const void *&  inPtr,
packedOutput_t packedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2068 of file packStruct.cpp.

◆ unpackInt16()

int unpackInt16 ( const void *&  inPtr,
packedOutput_t unpackedOutput,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2199 of file packStruct.cpp.

◆ unpackInt16ToOutPtr()

int unpackInt16ToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2226 of file packStruct.cpp.

◆ unpackIntToOutPtr()

int unpackIntToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 2091 of file packStruct.cpp.

◆ unpackItem()

int unpackItem ( packItem_t myPackedItem,
const void *&  inPtr,
packedOutput_t unpackedOutput,
const packInstruct_t myPackTable,
irodsProt_t  irodsProt 
)

Definition at line 1675 of file packStruct.cpp.

◆ unpackNatCharToOutPtr()

int unpackNatCharToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  len 
)

Definition at line 1833 of file packStruct.cpp.

◆ unpackNatDoubleToOutPtr()

int unpackNatDoubleToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement 
)

Definition at line 2369 of file packStruct.cpp.

◆ unpackNatInt16ToOutPtr()

int unpackNatInt16ToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement 
)

Definition at line 2240 of file packStruct.cpp.

◆ unpackNatIntToOutPtr()

int unpackNatIntToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement 
)

Definition at line 2105 of file packStruct.cpp.

◆ unpackNatString()

int unpackNatString ( const void *&  inPtr,
packedOutput_t packedOutput,
int  maxStrLen,
char *&  outStr 
)

Definition at line 1896 of file packStruct.cpp.

◆ unpackNatStringToOutPtr()

int unpackNatStringToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  maxStrLen 
)

Definition at line 2837 of file packStruct.cpp.

◆ unpackNonpointerItem()

int unpackNonpointerItem ( packItem_t myPackedItem,
const void *&  inPtr,
packedOutput_t unpackedOutput,
const packInstruct_t myPackTable,
irodsProt_t  irodsProt 
)

Definition at line 1698 of file packStruct.cpp.

◆ unpackNullString()

int unpackNullString ( const void *&  inPtr,
packedOutput_t unpackedOutput,
const packItem_t myPackedItem,
irodsProt_t  irodsProt 
)

Definition at line 2007 of file packStruct.cpp.

◆ unpackPointerItem()

int unpackPointerItem ( packItem_t myPackedItem,
const void *&  inPtr,
packedOutput_t unpackedOutput,
const packInstruct_t myPackTable,
irodsProt_t  irodsProt 
)

Definition at line 2566 of file packStruct.cpp.

◆ unpackString()

int unpackString ( const void *&  inPtr,
packedOutput_t unpackedOutput,
int  maxStrLen,
const char *  name,
irodsProt_t  irodsProt,
char *&  outStr 
)

Definition at line 1881 of file packStruct.cpp.

◆ unpackStringToOutPtr()

int unpackStringToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  maxStrLen,
const char *  name,
irodsProt_t  irodsProt 
)

Definition at line 1987 of file packStruct.cpp.

◆ unpackStruct()

int unpackStruct ( const void *  inPackStr,
void **  outStruct,
const char *  packInstName,
const packInstruct_t myPackTable,
irodsProt_t  irodsProt 
)

◆ unpackXmlCharToOutPtr()

int unpackXmlCharToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  len,
const char *  name,
const packTypeInx_t  typeInx 
)

Definition at line 1842 of file packStruct.cpp.

◆ unpackXmlDoubleToOutPtr()

int unpackXmlDoubleToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name 
)

Definition at line 2414 of file packStruct.cpp.

◆ unpackXmlInt16ToOutPtr()

int unpackXmlInt16ToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name 
)

Definition at line 2284 of file packStruct.cpp.

◆ unpackXmlIntToOutPtr()

int unpackXmlIntToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  numElement,
const char *  name 
)

Definition at line 2149 of file packStruct.cpp.

◆ unpackXmlString()

int unpackXmlString ( const void *&  inPtr,
packedOutput_t unpackedOutput,
int  maxStrLen,
const char *  name,
char *&  outStr 
)

Definition at line 1936 of file packStruct.cpp.

◆ unpackXmlStringToOutPtr()

int unpackXmlStringToOutPtr ( const void *&  inPtr,
void *&  outPtr,
int  maxStrLen,
const char *  name 
)

Definition at line 2867 of file packStruct.cpp.

◆ xmlStrToStr()

int xmlStrToStr ( const char *  inStr,
int  myLen,
char *&  outStr 
)

Definition at line 1361 of file packStruct.cpp.

References NULL.