xfrm_monitor_linux.go 594 B

123456789101112131415161718192021222324252627282930313233
  1. package nl
  2. import (
  3. "unsafe"
  4. )
  5. const (
  6. SizeofXfrmUserExpire = 0xe8
  7. )
  8. // struct xfrm_user_expire {
  9. // struct xfrm_usersa_info state;
  10. // __u8 hard;
  11. // };
  12. type XfrmUserExpire struct {
  13. XfrmUsersaInfo XfrmUsersaInfo
  14. Hard uint8
  15. Pad [7]byte
  16. }
  17. func (msg *XfrmUserExpire) Len() int {
  18. return SizeofXfrmUserExpire
  19. }
  20. func DeserializeXfrmUserExpire(b []byte) *XfrmUserExpire {
  21. return (*XfrmUserExpire)(unsafe.Pointer(&b[0:SizeofXfrmUserExpire][0]))
  22. }
  23. func (msg *XfrmUserExpire) Serialize() []byte {
  24. return (*(*[SizeofXfrmUserExpire]byte)(unsafe.Pointer(msg)))[:]
  25. }