Kannel: Open Source WAP and SMS gateway  svn-r5335
smsc.h
Go to the documentation of this file.
1 /* ====================================================================
2  * The Kannel Software License, Version 1.0
3  *
4  * Copyright (c) 2001-2018 Kannel Group
5  * Copyright (c) 1998-2001 WapIT Ltd.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Kannel Group (http://www.kannel.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Kannel" and "Kannel Group" must not be used to
28  * endorse or promote products derived from this software without
29  * prior written permission. For written permission, please
30  * contact org@kannel.org.
31  *
32  * 5. Products derived from this software may not be called "Kannel",
33  * nor may "Kannel" appear in their name, without prior written
34  * permission of the Kannel Group.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
40  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
41  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
42  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
43  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
45  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
46  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Kannel Group. For more information on
51  * the Kannel Group, please see <http://www.kannel.org/>.
52  *
53  * Portions of this software are based upon software originally written at
54  * WapIT Ltd., Helsinki, Finland for the Kannel project.
55  */
56 
57 /*
58  * smsc.h - interface to SMS center subsystem
59  *
60  * Lars Wirzenius for WapIT Ltd.
61  *
62  * New API by Kalle Marjola 1999
63  */
64 
65 #ifndef SMSC_H
66 #define SMSC_H
67 
68 
69 #include <stddef.h>
70 #include <stdio.h>
71 #include <time.h>
72 
73 #include "gwlib/gwlib.h"
74 #include "msg.h"
75 
76 /*
77  * A data structure representing an SMS center. This data structure
78  * is opaque: users MUST NOT use the fields directly, only the
79  * smsc_* functions may do so.
80  */
81 typedef struct SMSCenter SMSCenter;
82 
83 
84 /* Open the connection to an SMS center. 'grp' is a configgroup which
85  determines the sms center. See details from sample configuration file
86  'kannel.conf'
87 
88  The operation returns NULL for error and the pointer
89  to the new SMSCenter structure for OK.
90  */
92 
93 /*
94  * reopen once opened SMS Center connection. Close old connection if
95  * exists
96  *
97  * return 0 on success
98  * return -1 if failed
99  * return -2 if failed and no use to repeat the progress (i.e. currently
100  * reopen not implemented)
101  */
102 int smsc_reopen(SMSCenter *smsc);
103 
104 
105 /* Return the `name' of an SMC center. Name is defined here as a string that
106  a human understands that uniquely identifies the SMSC. This operation
107  cannot fail. */
108 char *smsc_name(SMSCenter *smsc);
109 
110 
111 /* Close the connection to an SMS center. Return -1 for error
112  (the connection will be closed anyway, but there was some error
113  while doing so, so it wasn't closed cleanly), or 0 for OK.
114  Return 0 if the smsc is NULL or smsc is already closed.
115  */
116 int smsc_close(SMSCenter *smsc);
117 
118 
119 
120 #endif
char * smsc_name(SMSCenter *smsc)
Definition: smsc.c:643
int smsc_close(SMSCenter *smsc)
Definition: smsc.c:648
Definition: cfg.c:73
SMSCenter * smsc_open(CfgGroup *grp)
Definition: smsc.c:444
int smsc_reopen(SMSCenter *smsc)
Definition: smsc.c:610
See file LICENSE for details about the license agreement for using, modifying, copying or deriving work from this software.