Code generator for C++ from YAML to generate network protocol parsers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.4 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. includes:
  2. - <array>
  3. classes:
  4. -
  5. name: record_identifier
  6. attributes:
  7. -
  8. name: uuid
  9. out_type: std::array<unsigned char, 16>
  10. start: 0
  11. -
  12. name: x
  13. out_type: uint32_t
  14. start: 16
  15. -
  16. name: y
  17. out_type: uint32_t
  18. start: 20
  19. -
  20. name: record
  21. attributes:
  22. -
  23. name: record_id
  24. out_type: std::array<unsigned char, 24>
  25. start: 0
  26. -
  27. name: timestamp
  28. out_type: uint64_t
  29. start: 24
  30. attributeafters:
  31. -
  32. name: offset
  33. out_type: uint64_t
  34. after_name: timestamp
  35. bitfields:
  36. -
  37. name: flags
  38. out_type: uint16_t
  39. start: 40
  40. mask: 0b0000000000000111
  41. -
  42. name: v_flag
  43. out_type: uint16_t
  44. after_name: offset
  45. start: 40
  46. mask: 0b0000000000000100
  47. -
  48. name: r_flags
  49. out_type: uint16_t
  50. start: 40
  51. mask: 0b0000000000000010
  52. -
  53. name: c_flags
  54. out_type: uint16_t
  55. start: 40
  56. mask: 0b0000000000000001
  57. -
  58. name: confirmed
  59. out_type: uint16_t
  60. start: 40
  61. mask: 0b0000000000000001
  62. -
  63. name: validated
  64. out_type: uint16_t
  65. start: 40
  66. mask: 0b0000000000000101
  67. -
  68. name: removed
  69. out_type: uint16_t
  70. start: 40
  71. mask: 0b0000000000000010