EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
dbtype.cpp File Reference
#include "eve-core.h"
#include "database/dbtype.h"
Include dependency graph for dbtype.cpp:

Go to the source code of this file.

Functions

uint8 DBTYPE_GetSizeBits (DBTYPE type)
 
uint8 DBTYPE_GetSizeBytes (DBTYPE type)
 

Function Documentation

uint8 DBTYPE_GetSizeBits ( DBTYPE  type)

Returns length of field of given type.

Parameters
[in]typeType of fields.
Returns
Length of field (in bits).

Definition at line 30 of file dbtype.cpp.

References DBTYPE_BOOL, DBTYPE_BYTES, DBTYPE_CY, DBTYPE_FILETIME, DBTYPE_I1, DBTYPE_I2, DBTYPE_I4, DBTYPE_I8, DBTYPE_R4, DBTYPE_R8, DBTYPE_STR, DBTYPE_UI1, DBTYPE_UI2, DBTYPE_UI4, DBTYPE_UI8, and DBTYPE_WSTR.

Referenced by DBTYPE_GetSizeBytes(), UnmarshalStream::LoadPackedRow(), and MarshalStream::VisitPackedRow().

31 {
32  switch( type )
33  {
34  case DBTYPE_I8:
35  case DBTYPE_UI8:
36  case DBTYPE_R8:
37  case DBTYPE_CY:
38  case DBTYPE_FILETIME:
39  return 64;
40  case DBTYPE_I4:
41  case DBTYPE_UI4:
42  case DBTYPE_R4:
43  return 32;
44  case DBTYPE_I2:
45  case DBTYPE_UI2:
46  return 16;
47  case DBTYPE_I1:
48  case DBTYPE_UI1:
49  return 8;
50  case DBTYPE_BOOL:
51  return 1;
52  case DBTYPE_BYTES:
53  case DBTYPE_STR:
54  case DBTYPE_WSTR:
55  return 0;
56  }
57 
58  return 0;
59 }

Here is the caller graph for this function:

uint8 DBTYPE_GetSizeBytes ( DBTYPE  type)

Returns length of field of given type.

Parameters
[in]typeType of fields.
Returns
Length of field (in bytes).

Definition at line 61 of file dbtype.cpp.

References DBTYPE_GetSizeBits().

62 {
63  return ( ( DBTYPE_GetSizeBits( type ) + 7 ) >> 3 );
64 }
uint8 DBTYPE_GetSizeBits(DBTYPE type)
Definition: dbtype.cpp:30

Here is the call graph for this function: