Harald Welte | 00566f5 | 2017-11-21 16:43:49 +0100 | [diff] [blame^] | 1 | /* (C) 2017 by Harald Welte <laforge@gnumonks.org> */ |
| 2 | |
| 3 | module IPA_Types { |
| 4 | |
| 5 | import from Osmocom_Types all; |
| 6 | |
| 7 | type uint8_t IpaStreamId; |
| 8 | |
| 9 | external function enc_PDU_IPA(in PDU_IPA pdu) return octetstring |
| 10 | with { extension "prototype(convert)" |
| 11 | extension "encode(RAW)" |
| 12 | } |
| 13 | |
| 14 | external function dec_PDU_IPA(in octetstring stream) return PDU_IPA |
| 15 | with { extension "prototype(convert)" |
| 16 | extension "decode(RAW)" |
| 17 | } |
| 18 | |
| 19 | type record PDU_IPA |
| 20 | { |
| 21 | uint16_t lengthInd, |
| 22 | IpaStreamId streamId, |
| 23 | octetstring payloadData |
| 24 | } with { |
| 25 | variant (lengthInd) "LENGTHTO(lengthInd,streamId,payloadData)"; |
| 26 | variant (lengthInd) "FIELDLENGTH(16)"; |
| 27 | variant (lengthInd) "BYTEORDER(last)"; |
| 28 | encode "RAW"; |
| 29 | } |
| 30 | |
| 31 | } |