blob: 76f885bf6cf79ac49d51e292c330c081267fb8ef [file] [log] [blame]
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +01001#ifndef SMS_QUEUE_H
2#define SMS_QUEUE_H
3
4struct gsm_network;
Holger Hans Peter Freyther17164062010-12-24 21:39:55 +01005struct gsm_sms_queue;
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +01006struct vty;
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +01007
Harald Welted302bb12022-05-17 13:31:14 +02008struct sms_queue_config {
9 char *db_file_path; /* SMS database file path */
10 int max_fail; /* maximum number of delivery failures */
11 int max_pending; /* maximum number of gsm_sms_pending in RAM */
12};
13
14struct sms_queue_config *sms_queue_cfg_alloc(void *ctx);
15
Neels Hofmeyr7c5346c2019-02-19 02:36:35 +010016#define VSUB_USE_SMS_PENDING "SMS-pending"
Neels Hofmeyrc4628a32018-12-07 14:47:34 +010017#define MSC_A_USE_SMS_PENDING "SMS-pending"
Neels Hofmeyr7c5346c2019-02-19 02:36:35 +010018
Harald Welted302bb12022-05-17 13:31:14 +020019int sms_queue_start(struct gsm_network *net);
Holger Hans Peter Freyther17164062010-12-24 21:39:55 +010020int sms_queue_trigger(struct gsm_sms_queue *);
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +010021
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +010022/* vty helper functions */
23int sms_queue_stats(struct gsm_sms_queue *, struct vty* vty);
Holger Hans Peter Freyther4dcc5e52010-12-25 14:38:30 +010024int sms_queue_clear(struct gsm_sms_queue *);
Stefan Sperling87cba1f2018-01-22 17:05:37 +010025int sms_queue_sms_is_pending(struct gsm_sms_queue *smsq, unsigned long long sms_id);
Holger Hans Peter Freyther81c0e252010-12-25 14:08:00 +010026
Holger Hans Peter Freyther11b28f92010-12-24 13:48:27 +010027#endif