# PDU specifications, used by ../src/pdu-gadget to produce a
# binary PDU stream for QA
#
# PDU_DESC_IDS test cases
#

# credentials: len type from ncred cred[0]
? PDU_CREDS 42 1 0x01020000

# idlist: len type from -1 (unused) numpmid pmid ...
# OK
? PDU_DESC_IDS 42 -1 3 pmid(sampledso.long.ten) pmid(sampledso.long.hundred) pmid(sampledso.long.million)

# idlist: len type from -1 (unused) numpmid
# BAD, short PDU < min
? PDU_DESC_IDS 42 -1 0

# idlist: len type from -1 (unused) numpmid
# BAD, numpmid == 0
? PDU_DESC_IDS 42 -1 0 0xdeadbeef

# idlist: len type from -1 (unused) numpmid
# BAD, short unused != -1 (IDList2 only)
? PDU_DESC_IDS 42 13 3 pmid(sampledso.long.ten) pmid(sampledso.long.hundred) pmid(sampledso.long.million)

# idlist: len type from -1 (unused) numpmid pmid ...
# BAD, PDU too long
32 PDU_DESC_IDS 42 -1 2 pmid(sampledso.long.ten) pmid(sampledso.long.hundred) 0xdeadbeef

# idlist: len type from -1 (unused) numpmid pmid ...
# BAD, PDU too short (IDList) or too many pmids (IDList2)
32 PDU_DESC_IDS 42 -1 4 pmid(sampledso.long.ten) pmid(sampledso.long.hundred) pmid(sampledso.long.million)

# idlist: len type from -1 (unused) numpmid pmid ...
# BAD, numpmid != caller (IDList) or > max (IDList2)
? PDU_DESC_IDS 42 -1 536870912 pmid(sampledso.long.ten) pmid(sampledso.long.hundred) pmid(sampledso.long.million)
