]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/eui/Eui48.h
Maintenance: automate header guards 2/3 (#1655)
[thirdparty/squid.git] / src / eui / Eui48.h
index 353d2877474efd0d6c5cb6ff79da185a2cec80a8..e3c64b50a9a17a3c1f5348faa3704dcc2b4ca727 100644 (file)
@@ -1,5 +1,13 @@
-#ifndef _SQUID_EUI_EUI48_H
-#define _SQUID_EUI_EUI48_H
+/*
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef SQUID_SRC_EUI_EUI48_H
+#define SQUID_SRC_EUI_EUI48_H
 
 #if USE_SQUID_EUI
 
@@ -21,8 +29,8 @@ class Eui48
 
 public:
     Eui48() { clear(); }
-    Eui48(const Eui48 &t) { memcpy(this, &t, sizeof(Eui48)); }
-    ~Eui48() {}
+    bool operator== (const Eui48 &t) const { return memcmp(eui, t.eui, SZ_EUI48_BUF) == 0; }
+    bool operator< (const Eui48 &t) const { return memcmp(eui, t.eui, SZ_EUI48_BUF) < 0; }
 
     const unsigned char *get(void);
 
@@ -54,7 +62,7 @@ public:
      * \retval false        Conversion to ASCII failed.
      * \retval true         Conversion completed successfully.
      */
-    bool encode(char *buf, const int len);
+    bool encode(char *buf, const int len) const;
 
     // lookup an EUI-48 / MAC address via ARP
     bool lookup(const Ip::Address &c);
@@ -66,4 +74,5 @@ private:
 } // namespace Eui
 
 #endif /* USE_SQUID_EUI */
-#endif /* _SQUID_EUI_EUI48_H */
+#endif /* SQUID_SRC_EUI_EUI48_H */
+