123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package nl
- import (
- "unsafe"
- )
- const (
- SizeofXfrmUserpolicyId = 0x40
- SizeofXfrmUserpolicyInfo = 0xa8
- SizeofXfrmUserTmpl = 0x40
- )
- // struct xfrm_userpolicy_id {
- // struct xfrm_selector sel;
- // __u32 index;
- // __u8 dir;
- // };
- //
- type XfrmUserpolicyId struct {
- Sel XfrmSelector
- Index uint32
- Dir uint8
- Pad [3]byte
- }
- func (msg *XfrmUserpolicyId) Len() int {
- return SizeofXfrmUserpolicyId
- }
- func DeserializeXfrmUserpolicyId(b []byte) *XfrmUserpolicyId {
- return (*XfrmUserpolicyId)(unsafe.Pointer(&b[0:SizeofXfrmUserpolicyId][0]))
- }
- func (msg *XfrmUserpolicyId) Serialize() []byte {
- return (*(*[SizeofXfrmUserpolicyId]byte)(unsafe.Pointer(msg)))[:]
- }
- // struct xfrm_userpolicy_info {
- // struct xfrm_selector sel;
- // struct xfrm_lifetime_cfg lft;
- // struct xfrm_lifetime_cur curlft;
- // __u32 priority;
- // __u32 index;
- // __u8 dir;
- // __u8 action;
- // #define XFRM_POLICY_ALLOW 0
- // #define XFRM_POLICY_BLOCK 1
- // __u8 flags;
- // #define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
- // /* Automatically expand selector to include matching ICMP payloads. */
- // #define XFRM_POLICY_ICMP 2
- // __u8 share;
- // };
- type XfrmUserpolicyInfo struct {
- Sel XfrmSelector
- Lft XfrmLifetimeCfg
- Curlft XfrmLifetimeCur
- Priority uint32
- Index uint32
- Dir uint8
- Action uint8
- Flags uint8
- Share uint8
- Pad [4]byte
- }
- func (msg *XfrmUserpolicyInfo) Len() int {
- return SizeofXfrmUserpolicyInfo
- }
- func DeserializeXfrmUserpolicyInfo(b []byte) *XfrmUserpolicyInfo {
- return (*XfrmUserpolicyInfo)(unsafe.Pointer(&b[0:SizeofXfrmUserpolicyInfo][0]))
- }
- func (msg *XfrmUserpolicyInfo) Serialize() []byte {
- return (*(*[SizeofXfrmUserpolicyInfo]byte)(unsafe.Pointer(msg)))[:]
- }
- // struct xfrm_user_tmpl {
- // struct xfrm_id id;
- // __u16 family;
- // xfrm_address_t saddr;
- // __u32 reqid;
- // __u8 mode;
- // __u8 share;
- // __u8 optional;
- // __u32 aalgos;
- // __u32 ealgos;
- // __u32 calgos;
- // }
- type XfrmUserTmpl struct {
- XfrmId XfrmId
- Family uint16
- Pad1 [2]byte
- Saddr XfrmAddress
- Reqid uint32
- Mode uint8
- Share uint8
- Optional uint8
- Pad2 byte
- Aalgos uint32
- Ealgos uint32
- Calgos uint32
- }
- func (msg *XfrmUserTmpl) Len() int {
- return SizeofXfrmUserTmpl
- }
- func DeserializeXfrmUserTmpl(b []byte) *XfrmUserTmpl {
- return (*XfrmUserTmpl)(unsafe.Pointer(&b[0:SizeofXfrmUserTmpl][0]))
- }
- func (msg *XfrmUserTmpl) Serialize() []byte {
- return (*(*[SizeofXfrmUserTmpl]byte)(unsafe.Pointer(msg)))[:]
- }
|