2020-01-11 17:21:31 +01:00

75 lines
1.7 KiB
C#

using System;
#nullable enable
namespace Capnp
{
/// <summary>
/// The different kinds of Cap'n Proto objects.
/// Despite this is a [Flags] enum, it does not make sense to mutually combine literals.
/// </summary>
[Flags]
public enum ObjectKind: byte
{
/// <summary>
/// The null object, obtained by decoding a null pointer.
/// </summary>
Nil = 0,
/// <summary>
/// A struct
/// </summary>
Struct = 1,
/// <summary>
/// A capability
/// </summary>
Capability = 2,
/// <summary>
/// A List(void)
/// </summary>
ListOfEmpty = 8,
/// <summary>
/// A list of bits
/// </summary>
ListOfBits = 9,
/// <summary>
/// A list of octets
/// </summary>
ListOfBytes = 10,
/// <summary>
/// A list of 16 bit words
/// </summary>
ListOfShorts = 11,
/// <summary>
/// A list of 32 bit words
/// </summary>
ListOfInts = 12,
/// <summary>
/// A list of 64 bits words
/// </summary>
ListOfLongs = 13,
/// <summary>
/// A list of pointers
/// </summary>
ListOfPointers = 14,
/// <summary>
/// A list of fixed-width composites
/// </summary>
ListOfStructs = 15,
/// <summary>
/// A value. This kind of object does not exist on the wire and is not specified by Capnp.
/// It is an internal helper to represent lists of primitive values as lists of structs.
/// </summary>
Value = 16
}
}
#nullable restore