Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / kernel / include / net / dns.h
bloba78b369b21830064360f93401ed61d929d8517b9
1 /*
2 * ZeX/OS
3 * Copyright (C) 2008 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
4 * Copyright (C) 2009 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef _DNS_H
22 #define _DNS_H
24 #define DEFAULT_DNS_PORT 53
26 #define __PACKED__ __attribute__ ((__packed__))
28 typedef struct dns_cache_context {
29 struct dns_cache_context *next, *prev;
31 unsigned char type;
32 void *ip;
33 unsigned char len;
34 char *hostname;
35 } dns_cache_t;
37 typedef struct proto_dns_answer_t {
38 unsigned short name;
39 unsigned short type;
40 unsigned short aclass;
41 unsigned ttl;
42 unsigned short dlen;
43 } __PACKED__ proto_dns_answer_t;
45 typedef struct proto_dns_t {
46 unsigned short trans;
47 unsigned short flags;
48 unsigned short question;
49 unsigned short answer;
50 unsigned short auth;
51 unsigned short add;
52 } __PACKED__ proto_dns_t;
54 /* externs */
55 extern int dns_send_request (char *hostname, void *ip, unsigned char type);
56 extern int dns_cache_add (char *hostname, unsigned char len, void *ip, unsigned char type);
57 extern int dns_cache_get (char *hostname, void *ip, unsigned char type);
58 extern unsigned init_net_proto_dns ();
60 #endif