floof/asn1/FloofProtocol.asn1
2022-11-22 17:35:08 +01:00

98 lines
2 KiB
Groff

FloofProtocol { 2 25 187636631533261907981725980838781846034 }
DEFINITIONS EXPLICIT TAGS ::= BEGIN
ActId ::= OCTET STRING (SIZE(16..1024))
ActIdBunch ::= SEQUENCE(SIZE(1..1024)) OF ActId
Summary ::= SEQUENCE {
ids ActIdBunch
}
Request ::= SEQUENCE {
ids ActIdBunch
}
Signature ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
value OCTET STRING
}
Severity ::= ENUMERATED {
emergency (0),
alert (1),
critical (2),
error (3),
warning (4),
notice (5),
info (6),
debug (7),
trace (8)
}
RelativeDistinguishedName ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY
}
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
ModificationOperation ::= CHOICE {
set [0] OCTET STRING,
delete [1] NULL,
add [2]OCTET STRING,
append [3] OCTET STRING,
patch [4] OCTET STRING
}
Modification ::= SEQUENCE {
container RDNSequence,
op ModificationOperation
}
Content ::= CHOICE {
freeForm OCTET STRING,
modification Modification
}
XferInner ::= SEQUENCE {
id ActId,
-- domain name --
domain PrintableString (SIZE(1..253)),
-- source system name --
source RDNSequence,
-- message topic --
topic RDNSequence,
-- message attributes --
attrs SET OF RelativeDistinguishedName,
-- message severity --
severity Severity,
data Content
}
XferBlob ::= SEQUENCE {
-- message priority (when severity is equal)
-- used for queue priority augmention and can be modified in-transit
priority INTEGER (0..65536),
-- message time-to-live eol timestamp in seconds since epoch
ttl INTEGER (0..MAX),
-- message markers (e.g. review data and such)
markers SEQUENCE OF RelativeDistinguishedName,
-- signature of DER serialization of *data*
signature Signature,
data XferInner
}
ProtoMessage ::= CHOICE {
summary [0] Summary,
request [1] Request,
xfer [2] XferBlob
}
END