Console: Implement short-option and non-option parsing
[senf.git] / Socket / Protocols / Raw / LLAddressing.cci
index 0084c20..dc04dea 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 //
 // Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-//     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+//     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 #define prefix_ inline
 ///////////////////////////////cci.p///////////////////////////////////////
 
+prefix_ void senf::LLSocketAddress::clear()
+{
+    ::memset(&addr_,0,sizeof(addr_));
+    addr_.sll_family = AF_PACKET;
+}
+
+prefix_ void senf::LLSocketAddress::address(MACAddress const & addr)
+{
+    std::copy(addr.begin(), addr.end(),&addr_.sll_addr[0]);
+}
+
 prefix_ senf::LLSocketAddress::LLSocketAddress()
 {
     clear();
 }
 
+prefix_ void senf::LLSocketAddress::protocol(unsigned prot)
+{
+    addr_.sll_protocol = htons(prot);
+}
+
 prefix_ senf::LLSocketAddress::LLSocketAddress(unsigned prot, std::string const & iface)
 {
     clear();
@@ -57,12 +73,6 @@ prefix_ senf::LLSocketAddress::LLSocketAddress(MACAddress const & addr,
     interface(iface);
 }
 
-prefix_ void senf::LLSocketAddress::clear()
-{
-    ::memset(&addr_,0,sizeof(addr_));
-    addr_.sll_family = AF_PACKET;
-}
-
 prefix_ unsigned senf::LLSocketAddress::protocol()
     const
 {
@@ -87,16 +97,6 @@ prefix_ senf::MACAddress senf::LLSocketAddress::address()
     return MACAddress::from_data(&addr_.sll_addr[0]);
 }
 
-prefix_ void senf::LLSocketAddress::address(MACAddress const & addr)
-{
-    std::copy(addr.begin(), addr.end(),&addr_.sll_addr[0]);
-}
-
-prefix_ void senf::LLSocketAddress::protocol(unsigned prot)
-{
-    addr_.sll_protocol = htons(prot);
-}
-
 prefix_ struct sockaddr * senf::LLSocketAddress::sockaddr_p()
 {
     return reinterpret_cast<struct sockaddr *>(&addr_);
@@ -114,6 +114,13 @@ prefix_ unsigned senf::LLSocketAddress::sockaddr_len()
     return sizeof(addr_);
 }
 
+prefix_ std::ostream & senf::operator<<(std::ostream & os, LLSocketAddress const & llAddr)
+{
+    // TODO: expose more bytes from sockaddr_ll addr_
+    os << "[some LLSocketAddress]";
+    return os;
+}
+
 ///////////////////////////////cci.e///////////////////////////////////////
 #undef prefix_