github.com/racerxdl/gonx@v0.0.0-20210103083128-c5afc43bcbd2/services/ipc/message.go (about) 1 package ipc 2 3 import ( 4 "github.com/racerxdl/gonx/nx/nxtypes" 5 ) 6 7 // PackedMessage represents a IPC Message Data to be packed 8 type PackedMessage struct { 9 Type Type 10 11 Buffers []*Buffer 12 13 DataSection []byte 14 15 CopyHandles []nxtypes.Handle 16 MoveHandles []nxtypes.Handle 17 SendPID bool 18 } 19 20 // Message Describes an incoming IPC message. Used as an intermediate during unpacking. 21 type Message struct { 22 MessageType uint16 23 RawDataSectionSize uint32 // in Words 24 NumXDescriptors uint32 25 NumADescriptors uint32 26 NumBDescriptors uint32 27 NumWDescriptors uint32 28 CDescriptorFlags uint32 29 XDescriptors []uint32 30 ADescriptors []uint32 31 BDescriptors []uint32 32 WDescriptors []uint32 33 CDescriptors []uint32 34 NumCopyHandles uint32 35 NumMoveHandles uint32 36 CopyHandles []uint32 37 MoveHandles []uint32 38 HasPID bool 39 PID uint64 40 PrePadding int 41 PostPadding int 42 DataSection []uint32 43 }