VirtualBox

source: vbox/trunk/src/VBox/NetworkServices/Dhcpd/Defs.h@ 76690

Last change on this file since 76690 was 76576, checked in by vboxsync, 6 years ago

NetworkServices: scm header guard alignment.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.4 KB
Line 
1/* $Id: Defs.h 76576 2019-01-01 06:05:25Z vboxsync $ */
2/** @file
3 * DHCP server - common definitions
4 */
5
6/*
7 * Copyright (C) 2017-2019 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef VBOX_INCLUDED_SRC_Dhcpd_Defs_h
19#define VBOX_INCLUDED_SRC_Dhcpd_Defs_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24#include <iprt/stdint.h>
25#include <iprt/string.h>
26#include <VBox/log.h>
27
28#include <map>
29#include <vector>
30
31#if __cplusplus >= 199711
32#include <memory>
33using std::shared_ptr;
34#else
35#include <tr1/memory>
36using std::tr1::shared_ptr;
37#endif
38
39typedef std::vector<uint8_t> octets_t;
40
41typedef std::map<uint8_t, octets_t> rawopts_t;
42
43class DhcpOption;
44typedef std::map<uint8_t, std::shared_ptr<DhcpOption> > optmap_t;
45
46inline bool operator==(const RTMAC &l, const RTMAC &r)
47{
48 return memcmp(&l, &r, sizeof(RTMAC)) == 0;
49}
50
51inline bool operator<(const RTMAC &l, const RTMAC &r)
52{
53 return memcmp(&l, &r, sizeof(RTMAC)) < 0;
54}
55
56#if 1
57#define LogDHCP LogRel
58#else
59#define LogDHCP(args) RTPrintf args
60#endif
61
62#endif /* !VBOX_INCLUDED_SRC_Dhcpd_Defs_h */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette