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  }