00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BITENUMS_H
00020 #define BITENUMS_H
00021
00022 #include <string>
00023
00024 namespace bit
00025 {
00026
00030 typedef enum UNITS {
00031 BITS = 1,
00032 OCTETS = 8
00033 } UNITS;
00034
00038 typedef enum Container {
00039 FIELD,
00040 FIELD_VECTOR,
00041 FIELD_ELEMENT,
00042 RECORD,
00043 RECORD_VECTOR,
00044 RECORD_ELEMENT,
00045 } Container;
00046
00050 typedef enum Type {
00051 TYPE_NONE,
00052 TYPE_INTEGER,
00053 TYPE_FLOATING,
00054 TYPE_ASCII,
00055 TYPE_UTF8,
00056 TYPE_BCD
00057 } Type;
00058
00062 typedef enum ByteOrder {
00063 BYTEORDER_HOST,
00064 BYTEORDER_NETWORK,
00065 BYTEORDER_BIG_ENDIAN,
00066 BYTEORDER_LITTLE_ENDIAN,
00067 } ByteOrder;
00068
00072 typedef enum Sign {
00073 SIGN_UNSIGNED,
00074 SIGN_TWOS_COMPLEMENT,
00075 SIGN_ONES_COMPLEMENT,
00076 SIGN_BIT,
00077 } Sign;
00078
00082 typedef enum Location {
00083 START,
00084 END,
00085 } Location;
00086
00087 typedef enum IntegerType {
00088 UINT64,
00089 INT64,
00090 UINT32,
00091 INT32,
00092 UINT16,
00093 INT16,
00094 UINT8,
00095 INT8,
00096 } IntegerType;
00097
00098 typedef enum Encoding {
00099 ENCODING_NONE,
00100 ENCODING_TYPE,
00101 ENCODING_BASE64,
00102 ENCODING_HEX,
00103 ENCODING_OCT,
00104 ENCODING_DEC,
00105 } Encoding;
00106
00107 Encoding encoding( const std::string& s );
00108
00109 }
00110
00111 #endif