e52d1db2010d604263d9352375599c5b79c5945c
[asterisk/asterisk.git] / include / asterisk / enum.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Mark Spencer <markster@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*
20  * ENUM support
21  */
22
23 /*!     \file enum.h
24         \brief DNS and ENUM functions
25 */
26
27 #ifndef _ASTERISK_ENUM_H
28 #define _ASTERISK_ENUM_H
29
30 #include "asterisk/channel.h"
31
32 /*! \brief Lookup entry in ENUM Returns 1 if found, 0 if not found, -1 on hangup 
33         \param chan     Channel
34         \param number   Number in E164 format without the + (for e164.arpa) or format 
35                         requested by enum service used (enum.conf)
36         \param location Number returned (or SIP uri)
37         \param maxloc   Max length
38         \param tech     Technology (from url scheme in response)
39         \param maxtech  Max length
40 */
41 extern int ast_get_enum(struct ast_channel *chan, const char *number, char *location, int maxloc, char *technology, int maxtech);
42
43 /*!     \brief Lookup DNS TXT record (used by app TXTCIDnum
44         \param chan     Channel
45         \param number   E164 number without the +
46         \param locatio  Number returned (or SIP uri)
47         \param maxloc   Max length of number
48         \param tech     Technology (not used in TXT records)
49         \param maxtech  Max length
50         \param txt      Text string (return value)
51         \param maxtxt   Max length of "txt"
52 */
53 extern int ast_get_txt(struct ast_channel *chan, const char *number, char *location, int maxloc, char *technology, int maxtech, char *txt, int maxtxt);
54
55 extern int ast_enum_init(void);
56 extern int ast_enum_reload(void);
57
58 #endif /* _ASTERISK_ENUM_H */