aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2022-05-02 01:12:26 -0800
committerDavid M. Syzdek <david@syzdek.net>2022-05-02 01:12:26 -0800
commit3b88e1fe80aac1033d6b8fc5365a771642b17524 (patch)
treee406c4bb957d66eaa5e9d96e4d0d0514bf54ea3e
parent361c72b47bd3c6ac763bcff06b1570bac7765bf2 (diff)
downloadtinytac-3b88e1fe80aac1033d6b8fc5365a771642b17524.tar.gz
tinytac-3b88e1fe80aac1033d6b8fc5365a771642b17524.tar.bz2
tinytac-3b88e1fe80aac1033d6b8fc5365a771642b17524.tar.xz
tinytac-3b88e1fe80aac1033d6b8fc5365a771642b17524.zip
libtinytac: adding tinytac_pckt_alloc()
-rw-r--r--lib/libtinytac/lproto.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/libtinytac/lproto.c b/lib/libtinytac/lproto.c
index 1f8049c..55a01fb 100644
--- a/lib/libtinytac/lproto.c
+++ b/lib/libtinytac/lproto.c
@@ -62,6 +62,13 @@
62////////////////// 62//////////////////
63#pragma mark - Prototypes 63#pragma mark - Prototypes
64 64
65extern tinytac_pckt_t *
66tinytac_pckt_alloc(
67 uint8_t pckt_type,
68 uint8_t seq_no,
69 uint32_t session_id,
70 size_t nbytes );
71
65 72
66///////////////// 73/////////////////
67// // 74// //
@@ -75,6 +82,32 @@
75//------------------// 82//------------------//
76#pragma mark packet functions 83#pragma mark packet functions
77 84
85tinytac_pckt_t *
86tinytac_pckt_alloc(
87 uint8_t pckt_type,
88 uint8_t seq_no,
89 uint32_t session_id,
90 size_t nbytes )
91{
92 tinytac_pckt_t * pckt;
93 size_t size;
94
95 size = sizeof(tinytac_pckt_t) + nbytes;
96
97 if ((pckt = malloc(size)) == NULL)
98 return(NULL);
99 memset(pckt, 0, size);
100 pckt->pckt_version = TTAC_VERSION(TAC_PLUS_MAJOR_VER, TAC_PLUS_MINOR_VER_DEFAULT);
101 pckt->pckt_type = pckt_type;
102 pckt->pckt_seq_no = seq_no;
103 pckt->pckt_flags = TAC_PLUS_UNENCRYPTED_FLAG | TAC_PLUS_SINGLE_CONNECT_FLAG;
104 pckt->pckt_length = htonl(nbytes);
105 pckt->pckt_session_id = session_id;
106
107 return(pckt);
108}
109
110
78void 111void
79tinytac_pckt_hexdump( 112tinytac_pckt_hexdump(
80 FILE * fs, 113 FILE * fs,