diff libsip/parse.h @ 40:77d980126efd

libsip started with primary parsing function
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 04 Sep 2022 16:33:31 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libsip/parse.h	Sun Sep 04 16:33:31 2022 -0800
@@ -0,0 +1,33 @@
+/*
+ * Here we define the structure we are going to use for receiving
+ * and parsing SIP UDP packets.
+ */
+
+#define	MAX_SIP_RX_PACKET	3072
+#define	MAX_HEADER_FIELDS	64
+
+struct sip_parse_hdr {
+	char	*field_name;
+	char	*field_value;
+};
+
+struct sip_pkt_rx {
+	/* recvfrom on UDP socket, input to parser */
+	char		pkt_buffer[MAX_SIP_RX_PACKET];
+	unsigned	pkt_length;
+	/* filled by parser */
+	int		parse_msgtype;
+	char		*req_method;
+	char		*req_uri;
+	unsigned	status_code;
+	char		*status_str;
+	/* header fields */
+	struct sip_parse_hdr hdr_fields[MAX_HEADER_FIELDS];
+	unsigned	num_hdr_fields;
+	/* optional message body */
+	char		*msg_body;
+	unsigned	msg_body_len;
+};
+
+#define	SIP_MSG_TYPE_REQ	1
+#define	SIP_MSG_TYPE_RESP	2