Go to the documentation of this file.00001 #ifndef QPID_FRAMING_TYPECODE_H
00002 #define QPID_FRAMING_TYPECODE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028
00029
00030 #include <iosfwd>
00031 #include "qpid/sys/IntegerTypes.h"
00032
00033 namespace qpid {
00034 namespace framing {
00035
00036 enum TypeCode {
00037 TYPE_CODE_BIN8 = 0x00,
00038 TYPE_CODE_INT8 = 0x01,
00039 TYPE_CODE_UINT8 = 0x02,
00040 TYPE_CODE_CHAR = 0x04,
00041 TYPE_CODE_BOOLEAN = 0x08,
00042 TYPE_CODE_BIN16 = 0x10,
00043 TYPE_CODE_INT16 = 0x11,
00044 TYPE_CODE_UINT16 = 0x12,
00045 TYPE_CODE_BIN32 = 0x20,
00046 TYPE_CODE_INT32 = 0x21,
00047 TYPE_CODE_UINT32 = 0x22,
00048 TYPE_CODE_FLOAT = 0x23,
00049 TYPE_CODE_CHAR_UTF32 = 0x27,
00050 TYPE_CODE_BIN64 = 0x30,
00051 TYPE_CODE_INT64 = 0x31,
00052 TYPE_CODE_UINT64 = 0x32,
00053 TYPE_CODE_DOUBLE = 0x33,
00054 TYPE_CODE_DATETIME = 0x38,
00055 TYPE_CODE_BIN128 = 0x40,
00056 TYPE_CODE_UUID = 0x48,
00057 TYPE_CODE_BIN256 = 0x50,
00058 TYPE_CODE_BIN512 = 0x60,
00059 TYPE_CODE_BIN1024 = 0x70,
00060 TYPE_CODE_VBIN8 = 0x80,
00061 TYPE_CODE_STR8_LATIN = 0x84,
00062 TYPE_CODE_STR8 = 0x85,
00063 TYPE_CODE_STR8_UTF16 = 0x86,
00064 TYPE_CODE_VBIN16 = 0x90,
00065 TYPE_CODE_STR16_LATIN = 0x94,
00066 TYPE_CODE_STR16 = 0x95,
00067 TYPE_CODE_STR16_UTF16 = 0x96,
00068 TYPE_CODE_VBIN32 = 0xa0,
00069 TYPE_CODE_MAP = 0xa8,
00070 TYPE_CODE_LIST = 0xa9,
00071 TYPE_CODE_ARRAY = 0xaa,
00072 TYPE_CODE_STRUCT32 = 0xab,
00073 TYPE_CODE_BIN40 = 0xc0,
00074 TYPE_CODE_DEC32 = 0xc8,
00075 TYPE_CODE_BIN72 = 0xd0,
00076 TYPE_CODE_DEC64 = 0xd8,
00077 TYPE_CODE_VOID = 0xf0,
00078 TYPE_CODE_BIT = 0xf1
00079 };
00080
00082 bool isTypeCode(uint8_t t);
00083
00085 TypeCode typeCode(uint8_t);
00086
00088 const char* typeName(TypeCode t);
00089
00090 std::ostream& operator<<(std::ostream&, TypeCode);
00091
00092
00093 }}
00094
00095 #endif