1
2#ifndef _S_BSDPD_H
3#define _S_BSDPD_H
4
5/*
6 * Copyright (c) 1999-2002 Apple Inc. All rights reserved.
7 *
8 * @APPLE_LICENSE_HEADER_START@
9 *
10 * This file contains Original Code and/or Modifications of Original Code
11 * as defined in and that are subject to the Apple Public Source License
12 * Version 2.0 (the 'License'). You may not use this file except in
13 * compliance with the License. Please obtain a copy of the License at
14 * http://www.opensource.apple.com/apsl/ and read it before using this
15 * file.
16 *
17 * The Original Code and all software distributed under the License are
18 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
19 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
20 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
22 * Please see the License for the specific language governing rights and
23 * limitations under the License.
24 *
25 * @APPLE_LICENSE_HEADER_END@
26 */
27
28/*
29 * bsdpd.h
30 * - Boot Server Discovery Protocol (BSDP) server definitions
31 */
32
33/*
34 * Modification History
35 *
36 * Dieter Siegmund (dieter@apple.com)		November 23, 1999
37 * - created
38 */
39
40#include "bsdp.h"
41#include "nbsp.h"
42#include "bootpd.h"
43#include <CoreFoundation/CFDictionary.h>
44
45#define ROOT_UID		0
46
47#define SHADOW_SIZE_DEFAULT	48
48
49#define OLD_NETBOOT_SYSID		"/NetBoot1"
50
51boolean_t
52bsdp_init(CFDictionaryRef plist);
53
54boolean_t
55is_bsdp_packet(dhcpol_t * rq_options, char * arch, char * sysid,
56	       dhcpol_t * rq_vsopt, bsdp_version_t * client_version,
57	       boolean_t * is_old_netboot);
58
59void
60bsdp_request(request_t * request, dhcp_msgtype_t dhcpmsg,
61	     const char * arch, const char * sysid, dhcpol_t * rq_vsopt,
62	     bsdp_version_t client_version, boolean_t is_old_netboot);
63
64boolean_t
65old_netboot_request(request_t * request);
66
67void
68bsdp_dhcp_request(request_t * request, dhcp_msgtype_t dhcpmsg);
69
70/**
71 ** Globals
72 **/
73extern uint32_t		G_age_time_seconds;
74extern gid_t		G_admin_gid;
75extern boolean_t	G_disk_space_warned;
76extern uint32_t		G_shadow_size_meg;
77extern NBSPListRef	G_client_sharepoints;
78
79#endif /* _S_BSDPD_H */
80