update comments on all ifdefs
[olsrd.git] / lib / nameservice / src / nameservice_msg.h
1
2 /*
3  * Copyright (c) 2005, Bruno Randolf <bruno.randolf@4g-systems.biz>
4  * Copyright (c) 2004, Andreas Tonnesen(andreto-at-olsr.org)
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright notice,
12  *   this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above copyright notice,
14  *   this list of conditions and the following disclaimer in the documentation
15  *   and/or other materials provided with the distribution.
16  * * Neither the name of the UniK olsr daemon nor the names of its contributors
17  *   may be used to endorse or promote products derived from this software
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
24  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
27  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
28  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29  * OF THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  */
32
33 /*
34  * Dynamic linked library for UniK OLSRd
35  */
36
37 #ifndef _NAMESEVICE_MSG
38 #define _NAMESEVICE_MSG
39
40 /* type of the packet of name_entry */
41 typedef enum {
42   NAME_HOST = 0,
43   NAME_FORWARDER = 1,
44   NAME_SERVICE = 2,
45   NAME_LATLON = 3,
46   NAME_MACADDR = 4,
47 } NAME_TYPE;
48
49 /**
50  * the name, forwarder or service entry as found in a packet within a
51  * message
52  **/
53 struct name {
54   uint16_t type;
55   uint16_t len;                      // length of the name
56   // the ip of the hostname, or the ip of the dns-server
57   // ip is irrelevant for services
58   union olsr_ip_addr ip;
59   /*
60    * name or service is written in plain text after this struct and padded to 4 byte
61    */
62 };
63
64 struct namemsg {
65   uint16_t version;                  // version number of the nameservice plugin
66   uint16_t nr_names;                 // number of following packets including names, forwarders or services
67   /*
68    * at least one struct name following
69    */
70 };
71
72 #endif /* _NAMESEVICE_MSG */
73
74 /*
75  * Local Variables:
76  * c-basic-offset: 2
77  * indent-tabs-mode: nil
78  * End:
79  */