EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EVEMarshalOpcodes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  PyRepOpcode {
  Op_PyNone = 0x01, Op_PyToken = 0x02, Op_PyLongLong = 0x03, Op_PyLong = 0x04,
  Op_PySignedShort = 0x05, Op_PyByte = 0x06, Op_PyMinusOne = 0x07, Op_PyZeroInteger = 0x08,
  Op_PyOneInteger = 0x09, Op_PyReal = 0x0A, Op_PyZeroReal = 0x0B, Op_PyBuffer = 0x0D,
  Op_PyEmptyString = 0x0E, Op_PyCharString = 0x0F, Op_PyShortString = 0x10, Op_PyStringTableItem = 0x11,
  Op_PyWStringUCS2 = 0x12, Op_PyLongString = 0x13, Op_PyTuple = 0x14, Op_PyList = 0x15,
  Op_PyDict = 0x16, Op_PyObject = 0x17, Op_PySubStruct = 0x19, Op_PySavedStreamElement = 0x1B,
  Op_PyChecksumedStream = 0x1C, Op_PyTrue = 0x1F, Op_PyFalse = 0x20, Op_cPicked = 0x21,
  Op_PyObjectEx1 = 0x22, Op_PyObjectEx2 = 0x23, Op_PyEmptyTuple = 0x24, Op_PyOneTuple = 0x25,
  Op_PyEmptyList = 0x26, Op_PyOneList = 0x27, Op_PyEmptyWString = 0x28, Op_PyWStringUCS2Char = 0x29,
  Op_PyPackedRow = 0x2A, Op_PySubStream = 0x2B, Op_PyTwoTuple = 0x2C, Op_PackedTerminator = 0x2D,
  Op_PyWStringUTF8 = 0x2E, Op_PyVarInteger = 0x2F, PyRepOpcodeMask = 0x3F
}
 

Variables

static const uint8 PyRepSaveMask = 0x40
 
static const uint8 PyRepUnknownMask = 0x80
 
static const uint8 MarshalHeaderByte = 0x7E
 

Enumeration Type Documentation

Enumerator
Op_PyNone 
Op_PyToken 
Op_PyLongLong 
Op_PyLong 
Op_PySignedShort 
Op_PyByte 
Op_PyMinusOne 
Op_PyZeroInteger 
Op_PyOneInteger 
Op_PyReal 
Op_PyZeroReal 
Op_PyBuffer 
Op_PyEmptyString 
Op_PyCharString 
Op_PyShortString 
Op_PyStringTableItem 
Op_PyWStringUCS2 
Op_PyLongString 
Op_PyTuple 
Op_PyList 
Op_PyDict 
Op_PyObject 
Op_PySubStruct 
Op_PySavedStreamElement 
Op_PyChecksumedStream 
Op_PyTrue 
Op_PyFalse 
Op_cPicked 
Op_PyObjectEx1 
Op_PyObjectEx2 
Op_PyEmptyTuple 
Op_PyOneTuple 
Op_PyEmptyList 
Op_PyOneList 
Op_PyEmptyWString 
Op_PyWStringUCS2Char 
Op_PyPackedRow 
Op_PySubStream 
Op_PyTwoTuple 
Op_PackedTerminator 
Op_PyWStringUTF8 
Op_PyVarInteger 
PyRepOpcodeMask 

Definition at line 32 of file EVEMarshalOpcodes.h.

33 {
34  Op_PyNone = 0x01,
35  Op_PyToken = 0x02,
36  Op_PyLongLong = 0x03,
37  Op_PyLong = 0x04,
38  Op_PySignedShort = 0x05,
39  Op_PyByte = 0x06,
40  Op_PyMinusOne = 0x07,
41  Op_PyZeroInteger = 0x08,
42  Op_PyOneInteger = 0x09,
43  Op_PyReal = 0x0A,
44  Op_PyZeroReal = 0x0B,
45  //Op_PyUnused1 = 0x0C,
46  Op_PyBuffer = 0x0D,
47  Op_PyEmptyString = 0x0E, //not 100% sure.
48  Op_PyCharString = 0x0F, //a single character string
49  Op_PyShortString = 0x10, //string limited to 255 chars
50  Op_PyStringTableItem = 0x11,
51  Op_PyWStringUCS2 = 0x12,
52  Op_PyLongString = 0x13, //string with length extension support
53  Op_PyTuple = 0x14,
54  Op_PyList = 0x15,
55  Op_PyDict = 0x16,
56  Op_PyObject = 0x17,
57  //Op_Pyunk2 = 0x18,
58  Op_PySubStruct = 0x19, //another stream nested in the current stream, length implied by marshaling a single element.
59  //Op_Pyunk3 = 0x1A, //"load"
61  Op_PyChecksumedStream = 0x1C,
62  //Op_PyUnused2 = 0x1D,
63  //Op_PyUnused3 = 0x1E,
64  Op_PyTrue = 0x1F,
65  Op_PyFalse = 0x20,
66  Op_cPicked = 0x21,
67  Op_PyObjectEx1 = 0x22,
68  Op_PyObjectEx2 = 0x23, // still not 100% completed
69  Op_PyEmptyTuple = 0x24,
70  Op_PyOneTuple = 0x25,
71  Op_PyEmptyList = 0x26,
72  Op_PyOneList = 0x27,
73  Op_PyEmptyWString = 0x28,
74  Op_PyWStringUCS2Char = 0x29, // a single character string
75  Op_PyPackedRow = 0x2A, // still working on this one...
76  Op_PySubStream = 0x2B,
77  Op_PyTwoTuple = 0x2C,
78  Op_PackedTerminator = 0x2D,
79  Op_PyWStringUTF8 = 0x2E,
80  Op_PyVarInteger = 0x2F, // variable length integer field??? // PyLong from Byte array
81  PyRepOpcodeMask = 0x3F
82 
83  // seen these on main server.
84  // E Unmarshal: Invalid stream received (header byte ...)
85  // = 0x5
86  // = 0xE
87  // = 0xCC
88 }; //6 bits

Variable Documentation

const uint8 MarshalHeaderByte = 0x7E
static
const uint8 PyRepSaveMask = 0x40
static

Definition at line 90 of file EVEMarshalOpcodes.h.

Referenced by UnmarshalStream::LoadRep().

const uint8 PyRepUnknownMask = 0x80
static

Definition at line 91 of file EVEMarshalOpcodes.h.

Referenced by UnmarshalStream::LoadRep().