blob: ccc56ab7488650991bc5db8e6d5566cb73d31ada [file] [log] [blame]
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +01001#ifndef SMS_QUEUE_H
2#define SMS_QUEUE_H
3
Harald Welte53e2e5f2022-05-17 14:39:51 +02004#include <stdbool.h>
5
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +01006struct gsm_network;
Holger Hans Peter Freyther17164062010-12-24 21:39:55 +01007struct gsm_sms_queue;
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +01008struct vty;
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +01009
Harald Welted302bb12022-05-17 13:31:14 +020010struct sms_queue_config {
11 char *db_file_path; /* SMS database file path */
12 int max_fail; /* maximum number of delivery failures */
13 int max_pending; /* maximum number of gsm_sms_pending in RAM */
Harald Welte53e2e5f2022-05-17 14:39:51 +020014 bool delete_delivered; /* delete delivered SMS from DB? */
15 bool delete_expired; /* delete expired SMS from DB? */
Harald Welted302bb12022-05-17 13:31:14 +020016};
17
18struct sms_queue_config *sms_queue_cfg_alloc(void *ctx);
19
Neels Hofmeyr7c5346c2019-02-19 02:36:35 +010020#define VSUB_USE_SMS_PENDING "SMS-pending"
Neels Hofmeyrc4628a32018-12-07 14:47:34 +010021#define MSC_A_USE_SMS_PENDING "SMS-pending"
Neels Hofmeyr7c5346c2019-02-19 02:36:35 +010022
Harald Welted302bb12022-05-17 13:31:14 +020023int sms_queue_start(struct gsm_network *net);
Holger Hans Peter Freyther17164062010-12-24 21:39:55 +010024int sms_queue_trigger(struct gsm_sms_queue *);
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +010025
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +010026/* vty helper functions */
27int sms_queue_stats(struct gsm_sms_queue *, struct vty* vty);
Holger Hans Peter Freyther4dcc5e52010-12-25 14:38:30 +010028int sms_queue_clear(struct gsm_sms_queue *);
Stefan Sperling87cba1f2018-01-22 17:05:37 +010029int sms_queue_sms_is_pending(struct gsm_sms_queue *smsq, unsigned long long sms_id);
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +010030
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +010031#endif