constants.h 1.9 KB

12345678910111213141516171819202122232425
  1. #define FORMAT_VERSION 131
  2. #define NEW_FLOAT_EXT 'F' // 70 [Float64:IEEE float]
  3. #define BIT_BINARY_EXT 'M' // 77 [UInt32:Len, UInt8:Bits, Len:Data]
  4. #define SMALL_INTEGER_EXT 'a' // 97 [UInt8:Int]
  5. #define INTEGER_EXT 'b' // 98 [Int32:Int]
  6. #define FLOAT_EXT 'c' // 99 [31:Float String] Float in string format (formatted "%.20e", sscanf "%lf"). Superseded by NEW_FLOAT_EXT
  7. #define ATOM_EXT 'd' // 100 [UInt16:Len, Len:AtomName] max Len is 255
  8. #define REFERENCE_EXT 'e' // 101 [atom:Node, UInt32:ID, UInt8:Creation]
  9. #define PORT_EXT 'f' // 102 [atom:Node, UInt32:ID, UInt8:Creation]
  10. #define PID_EXT 'g' // 103 [atom:Node, UInt32:ID, UInt32:Serial, UInt8:Creation]
  11. #define SMALL_TUPLE_EXT 'h' // 104 [UInt8:Arity, N:Elements]
  12. #define LARGE_TUPLE_EXT 'i' // 105 [UInt32:Arity, N:Elements]
  13. #define NIL_EXT 'j' // 106 empty list
  14. #define STRING_EXT 'k' // 107 [UInt16:Len, Len:Characters]
  15. #define LIST_EXT 'l' // 108 [UInt32:Len, Elements, Tail]
  16. #define BINARY_EXT 'm' // 109 [UInt32:Len, Len:Data]
  17. #define SMALL_BIG_EXT 'n' // 110 [UInt8:n, UInt8:Sign, n:nums]
  18. #define LARGE_BIG_EXT 'o' // 111 [UInt32:n, UInt8:Sign, n:nums]
  19. #define NEW_FUN_EXT 'p' // 112 [UInt32:Size, UInt8:Arity, 16*Uint6-MD5:Uniq, UInt32:Index, UInt32:NumFree, atom:Module, int:OldIndex, int:OldUniq, pid:Pid, NunFree*ext:FreeVars]
  20. #define EXPORT_EXT 'q' // 113 [atom:Module, atom:Function, smallint:Arity]
  21. #define NEW_REFERENCE_EXT 'r' // 114 [UInt16:Len, atom:Node, UInt8:Creation, Len*UInt32:ID]
  22. #define SMALL_ATOM_EXT 's' // 115 [UInt8:Len, Len:AtomName]
  23. #define MAP_EXT 't' // 116 [UInt32:Airty, N:Pairs]
  24. #define FUN_EXT 'u' // 117 [UInt4:NumFree, pid:Pid, atom:Module, int:Index, int:Uniq, NumFree*ext:FreeVars]
  25. #define COMPRESSED 'P' // 80 [UInt4:UncompressedSize, N:ZlibCompressedData]