diff smpp-send/settings.c @ 223:f11c3e40c87a

new program smpp-send
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 05 Aug 2023 12:24:31 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smpp-send/settings.c	Sat Aug 05 12:24:31 2023 -0800
@@ -0,0 +1,182 @@
+/*
+ * This module implements functions for various settings that come before
+ * msg or msg-udh lines.
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include "error.h"
+
+extern char src_addr[21], dest_addr[21];
+extern u_char src_ton, src_npi, dest_ton, dest_npi;
+extern u_char esm_class, pid_byte, dcs_byte;
+extern u_char prio_flag, reg_deliv, replace_flag;
+
+extern int input_lineno;
+
+void
+set_src_addr(argc, argv)
+	char **argv;
+{
+	if (strlen(argv[1]) > 20) {
+		fprintf(stderr, ERR_PREFIX
+			"phone number argument is too long\n", input_lineno);
+		exit(1);
+	}
+	strcpy(src_addr, argv[1]);
+}
+
+void
+set_src_ton(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	src_ton = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_src_npi(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	src_npi = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_dest_addr(argc, argv)
+	char **argv;
+{
+	if (strlen(argv[1]) > 20) {
+		fprintf(stderr, ERR_PREFIX
+			"phone number argument is too long\n", input_lineno);
+		exit(1);
+	}
+	strcpy(dest_addr, argv[1]);
+}
+
+void
+set_dest_ton(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	dest_ton = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_dest_npi(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	dest_npi = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_pid_byte(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	pid_byte = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_dcs_byte(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	dcs_byte = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_esm_class(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	esm_class = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_priority(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	prio_flag = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_reg_deliv(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	reg_deliv = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}
+
+void
+set_replace_flag(argc, argv)
+	char **argv;
+{
+	char *endp;
+
+	replace_flag = strtoul(argv[1], &endp, 0);
+	if (*endp) {
+		fprintf(stderr, ERR_PREFIX "invalid byte value argument\n",
+			input_lineno);
+		exit(1);
+	}
+}