From 626c98ba94db20a89cbcc8f7fdbe1b09c271066c Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Wed, 20 May 2026 11:17:17 +0200 Subject: [PATCH] Implement Frames --- agwpe.go | 32 -------------------------------- frame.go | 35 +++++++++++++++++++++++++++++++++++ frame_test.go | 13 +++++++++++++ 3 files changed, 48 insertions(+), 32 deletions(-) create mode 100644 frame.go create mode 100644 frame_test.go diff --git a/agwpe.go b/agwpe.go index 0ac13ad..c573708 100644 --- a/agwpe.go +++ b/agwpe.go @@ -64,35 +64,3 @@ func (pe *PacketEngine) Disconnect() error { return nil } - -// import "encoding/binary" - -// type Frame struct { -// Port byte -// Reserved0 [3]byte -// DataKind byte -// Reserved1 byte -// PID byte -// Reserved2 byte -// CallFrom [10]byte -// CallTo [10]byte -// DataLen uint32 -// User [4]byte -// } - -// func (f *Frame) Serialize() []byte { -// buf := make([]byte, 36) - -// buf[0] = f.Port -// // Ignore reserved bytes 1 to 3 -// buf[4] = f.DataKind -// // Ignore reserved byte 5 -// buf[6] = f.PID -// // Ignore reserved byte 7 -// copy(buf[8:18], f.CallFrom[:]) -// copy(buf[18:28], f.CallTo[:]) -// binary.LittleEndian.PutUint32(buf[28:32], f.DataLen) -// copy(buf[32:36], f.User[:]) - -// return buf -// } diff --git a/frame.go b/frame.go new file mode 100644 index 0000000..66cda08 --- /dev/null +++ b/frame.go @@ -0,0 +1,35 @@ +package agwpe + +import ( + "encoding/binary" +) + +type FrameHeader struct { + Port byte + Reserved0 [3]byte + DataKind byte + Reserved1 byte + PID byte + Reserved2 byte + CallFrom [10]byte + CallTo [10]byte + DataLen uint32 + User [4]byte +} + +func (f *FrameHeader) Serialize() []byte { + buf := make([]byte, 36) + + buf[0] = f.Port + // Ignore reserved bytes 1 to 3 + buf[4] = f.DataKind + // Ignore reserved byte 5 + buf[6] = f.PID + // Ignore reserved byte 7 + copy(buf[8:18], f.CallFrom[:]) + copy(buf[18:28], f.CallTo[:]) + binary.LittleEndian.PutUint32(buf[28:32], f.DataLen) + copy(buf[32:36], f.User[:]) + + return buf +} diff --git a/frame_test.go b/frame_test.go new file mode 100644 index 0000000..9470f90 --- /dev/null +++ b/frame_test.go @@ -0,0 +1,13 @@ +package agwpe + +import ( + "testing" +) + +func TestNewFrameHeader(t *testing.T) { + +} + +func TestFrameHeader_Serialize(t *testing.T) { + +}