cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Classes | Macros | Typedefs | Enumerations
rpc.h File Reference

Go to the source code of this file.

Classes

struct  COMMAND_INFO
 

Macros

#define MAX_ARGS   4
 
#define MAX_STRING_ARGS   2
 
#define DBX_MAX_ARGS   2
 
#define DBX_MAX_STRING_ARGS   3
 
#define ALLOC_MAX_ARGS   MAX_ARGS
 
#define ALLOC_MAX_STRING_ARGS   DBX_MAX_STRING_ARGS
 
#define COMMAND_FLAG_NONE   0x00 /* No command flag */
 
#define COMMAND_FLAG_RET_NONE   0x01 /* Don't return any data */
 
#define COMMAND_FLAG_RET_LENGTH   0x02 /* Return only length of string arg */
 
#define COMMAND_WORDSIZE   4
 
#define COMMAND_FIXED_DATA_SIZE   ( COMMAND_WORDSIZE * 2 )
 
#define COMMAND_WORD1_OFFSET   COMMAND_FIXED_DATA_SIZE
 
#define COMMAND_WORD2_OFFSET   ( COMMAND_FIXED_DATA_SIZE + COMMAND_WORDSIZE )
 
#define COMMAND_WORD3_OFFSET   ( COMMAND_FIXED_DATA_SIZE + ( COMMAND_WORDSIZE * 2 ) )
 
#define COMMAND_WORD4_OFFSET   ( COMMAND_FIXED_DATA_SIZE + ( COMMAND_WORDSIZE * 3 ) )
 
#define putMessageType(buffer, type, flags, noInt, noString)
 
#define getMessageType(buffer, type, flags, noInt, noString)
 
#define putMessageWord(buffer, word)
 
#define getMessageWord(buffer)
 
#define getMessageLength   getMessageWord
 
#define putMessageLength   putMessageWord
 
#define DISPATCH_COMMAND(function, command)   function( NULL, &command )
 
#define DISPATCH_COMMAND_DBX(function, command, dbmsInfo)   function( ( dbmsInfo )->stateInfo, &command )
 
#define RETURN_VALUE(value)   value
 
#define checkCommandInfo(cmd, length)
 
#define checkCommandConsistency(cmd, length)
 
#define dbxCheckCommandInfo(cmd, length)
 
#define dbxCheckCommandConsistency(cmd, length)
 
#define MAX_FRAGMENT_SIZE   32768
 
#define RPC_IO_BUFSIZE   MAX_FRAGMENT_SIZE + 32
 
#define DBX_IO_BUFSIZE   4096
 

Typedefs

typedef void(* DISPATCH_FUNCTION )(void *stateInfo, BYTE *buffer)
 
typedef int(* COMMAND_HANDLER )(void *stateInfo, COMMAND_INFO *cmd)
 

Enumerations

enum  COMMAND_TYPE {
  COMMAND_NONE, COMMAND_RESULT, COMMAND_SERVERQUERY, COMMAND_CREATEOBJECT,
  COMMAND_CREATEOBJECT_INDIRECT, COMMAND_EXPORTOBJECT, COMMAND_DESTROYOBJECT, COMMAND_QUERYCAPABILITY,
  COMMAND_GENKEY, COMMAND_ENCRYPT, COMMAND_DECRYPT, COMMAND_GETATTRIBUTE,
  COMMAND_SETATTRIBUTE, COMMAND_DELETEATTRIBUTE, COMMAND_GETKEY, COMMAND_SETKEY,
  COMMAND_DELETEKEY, COMMAND_PUSHDATA, COMMAND_POPDATA, COMMAND_FLUSHDATA,
  COMMAND_CERTSIGN, COMMAND_CERTCHECK, COMMAND_CERTMGMT, COMMAND_LAST
}
 
enum  DBX_COMMAND_TYPE {
  DBX_COMMAND_NONE, DBX_COMMAND_RESULT, DBX_COMMAND_OPEN, DBX_COMMAND_CLOSE,
  DBX_COMMAND_QUERY, DBX_COMMAND_UPDATE, DBX_COMMAND_GETERRORINFO, DBX_COMMAND_LAST
}
 

Macro Definition Documentation

#define ALLOC_MAX_ARGS   MAX_ARGS

Definition at line 181 of file rpc.h.

#define ALLOC_MAX_STRING_ARGS   DBX_MAX_STRING_ARGS

Definition at line 182 of file rpc.h.

#define checkCommandConsistency (   cmd,
  length 
)
Value:
( ( ( cmd )->strArgLen[ 0 ] + ( cmd )->strArgLen[ 1 ] ) == \
( length - ( COMMAND_WORDSIZE * ( ( cmd )->noArgs + ( cmd )->noStrArgs ) ) ) )

Definition at line 289 of file rpc.h.

#define checkCommandInfo (   cmd,
  length 
)
Value:
( ( cmd )->type > COMMAND_NONE && \
( cmd )->type < COMMAND_LAST && \
( ( cmd )->flags == COMMAND_FLAG_NONE || \
( cmd )->flags == COMMAND_FLAG_RET_NONE || \
( cmd )->flags == COMMAND_FLAG_RET_LENGTH ) && \
( cmd )->noArgs >= 1 && ( cmd )->noArgs <= MAX_ARGS && \
( cmd )->noStrArgs >= 0 && ( cmd )->noStrArgs <= MAX_STRING_ARGS && \
( cmd )->strArgLen[ 0 ] >= 0 && \
( cmd )->strArgLen[ 1 ] >= 0 && \
( length ) >= 0 && ( length ) <= RPC_IO_BUFSIZE )

Definition at line 277 of file rpc.h.

#define COMMAND_FIXED_DATA_SIZE   ( COMMAND_WORDSIZE * 2 )

Definition at line 194 of file rpc.h.

#define COMMAND_FLAG_NONE   0x00 /* No command flag */

Definition at line 186 of file rpc.h.

#define COMMAND_FLAG_RET_LENGTH   0x02 /* Return only length of string arg */

Definition at line 188 of file rpc.h.

#define COMMAND_FLAG_RET_NONE   0x01 /* Don't return any data */

Definition at line 187 of file rpc.h.

#define COMMAND_WORD1_OFFSET   COMMAND_FIXED_DATA_SIZE

Definition at line 195 of file rpc.h.

#define COMMAND_WORD2_OFFSET   ( COMMAND_FIXED_DATA_SIZE + COMMAND_WORDSIZE )

Definition at line 196 of file rpc.h.

#define COMMAND_WORD3_OFFSET   ( COMMAND_FIXED_DATA_SIZE + ( COMMAND_WORDSIZE * 2 ) )

Definition at line 197 of file rpc.h.

#define COMMAND_WORD4_OFFSET   ( COMMAND_FIXED_DATA_SIZE + ( COMMAND_WORDSIZE * 3 ) )

Definition at line 198 of file rpc.h.

#define COMMAND_WORDSIZE   4

Definition at line 193 of file rpc.h.

#define DBX_IO_BUFSIZE   4096

Definition at line 326 of file rpc.h.

#define DBX_MAX_ARGS   2

Definition at line 179 of file rpc.h.

#define DBX_MAX_STRING_ARGS   3

Definition at line 180 of file rpc.h.

#define dbxCheckCommandConsistency (   cmd,
  length 
)
Value:
( ( ( cmd )->strArgLen[ 0 ] + ( cmd )->strArgLen[ 1 ] + ( cmd )->strArgLen[ 2 ] ) == \
( length - ( COMMAND_WORDSIZE * ( ( cmd )->noArgs + ( cmd )->noStrArgs ) ) ) )

Definition at line 304 of file rpc.h.

#define dbxCheckCommandInfo (   cmd,
  length 
)
Value:
( ( cmd )->type > DBX_COMMAND_NONE && \
( cmd )->type < DBX_COMMAND_LAST && \
( cmd )->flags == COMMAND_FLAG_NONE && \
( cmd )->noArgs >= 0 && ( cmd )->noArgs <= DBX_MAX_ARGS && \
( cmd )->noStrArgs >= 0 && ( cmd )->noStrArgs <= DBX_MAX_STRING_ARGS && \
( cmd )->strArgLen[ 0 ] >= 0 && \
( cmd )->strArgLen[ 1 ] >= 0 && \
( cmd )->strArgLen[ 2 ] >= 0 && \
( length ) >= 0 && ( length ) <= DBX_IO_BUFSIZE )

Definition at line 293 of file rpc.h.

#define DISPATCH_COMMAND (   function,
  command 
)    function( NULL, &command )

Definition at line 267 of file rpc.h.

#define DISPATCH_COMMAND_DBX (   function,
  command,
  dbmsInfo 
)    function( ( dbmsInfo )->stateInfo, &command )

Definition at line 269 of file rpc.h.

#define getMessageLength   getMessageWord

Definition at line 228 of file rpc.h.

#define getMessageType (   buffer,
  type,
  flags,
  noInt,
  noString 
)
Value:
type = buffer[ 0 ]; flags = buffer[ 1 ]; \
noInt = buffer[ 2 ]; noString = buffer[ 3 ]

Definition at line 209 of file rpc.h.

#define getMessageWord (   buffer)
Value:
( ( ( ( long ) ( buffer )[ 0 ] ) << 24 ) | \
( ( ( long ) ( buffer )[ 1 ] ) << 16 ) | \
( ( ( long ) ( buffer )[ 2 ] ) << 8 ) | \
( long ) ( buffer )[ 3 ] )

Definition at line 222 of file rpc.h.

#define MAX_ARGS   4

Definition at line 177 of file rpc.h.

#define MAX_FRAGMENT_SIZE   32768

Definition at line 316 of file rpc.h.

#define MAX_STRING_ARGS   2

Definition at line 178 of file rpc.h.

#define putMessageLength   putMessageWord

Definition at line 229 of file rpc.h.

#define putMessageType (   buffer,
  type,
  flags,
  noInt,
  noString 
)
Value:
{ \
buffer[ 0 ] = ( BYTE ) ( type & 0xFF ); \
buffer[ 1 ] = ( BYTE ) ( flags & 0xFF ); \
buffer[ 2 ] = noInt; \
buffer[ 3 ] = noString; \
}

Definition at line 202 of file rpc.h.

#define putMessageWord (   buffer,
  word 
)
Value:
{ \
( buffer )[ 0 ] = ( BYTE ) ( ( ( word ) >> 24 ) & 0xFF ); \
( buffer )[ 1 ] = ( BYTE ) ( ( ( word ) >> 16 ) & 0xFF ); \
( buffer )[ 2 ] = ( BYTE ) ( ( ( word ) >> 8 ) & 0xFF ); \
( buffer )[ 3 ] = ( BYTE ) ( ( word ) & 0xFF ); \
}

Definition at line 215 of file rpc.h.

#define RETURN_VALUE (   value)    value

Definition at line 271 of file rpc.h.

#define RPC_IO_BUFSIZE   MAX_FRAGMENT_SIZE + 32

Definition at line 325 of file rpc.h.

Typedef Documentation

typedef int( * COMMAND_HANDLER)(void *stateInfo, COMMAND_INFO *cmd)

Definition at line 247 of file rpc.h.

typedef void( * DISPATCH_FUNCTION)(void *stateInfo, BYTE *buffer)

Definition at line 246 of file rpc.h.

Enumeration Type Documentation

Enumerator:
COMMAND_NONE 
COMMAND_RESULT 
COMMAND_SERVERQUERY 
COMMAND_CREATEOBJECT 
COMMAND_CREATEOBJECT_INDIRECT 
COMMAND_EXPORTOBJECT 
COMMAND_DESTROYOBJECT 
COMMAND_QUERYCAPABILITY 
COMMAND_GENKEY 
COMMAND_ENCRYPT 
COMMAND_DECRYPT 
COMMAND_GETATTRIBUTE 
COMMAND_SETATTRIBUTE 
COMMAND_DELETEATTRIBUTE 
COMMAND_GETKEY 
COMMAND_SETKEY 
COMMAND_DELETEKEY 
COMMAND_PUSHDATA 
COMMAND_POPDATA 
COMMAND_FLUSHDATA 
COMMAND_CERTSIGN 
COMMAND_CERTCHECK 
COMMAND_CERTMGMT 
COMMAND_LAST 

Definition at line 31 of file rpc.h.

Enumerator:
DBX_COMMAND_NONE 
DBX_COMMAND_RESULT 
DBX_COMMAND_OPEN 
DBX_COMMAND_CLOSE 
DBX_COMMAND_QUERY 
DBX_COMMAND_UPDATE 
DBX_COMMAND_GETERRORINFO 
DBX_COMMAND_LAST 

Definition at line 60 of file rpc.h.