[haiku-commits] r34919 - haiku/trunk/src/system/boot/platform/openfirmware

  • From: superstippi@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 6 Jan 2010 18:54:22 +0100 (CET)

Author: stippi
Date: 2010-01-06 18:54:21 +0100 (Wed, 06 Jan 2010)
New Revision: 34919
Changeset: http://dev.haiku-os.org/changeset/34919/haiku

Modified:
   haiku/trunk/src/system/boot/platform/openfirmware/network.cpp
Log:
Fixed line-endings.


Modified: haiku/trunk/src/system/boot/platform/openfirmware/network.cpp
===================================================================
--- haiku/trunk/src/system/boot/platform/openfirmware/network.cpp       
2010-01-06 17:53:03 UTC (rev 34918)
+++ haiku/trunk/src/system/boot/platform/openfirmware/network.cpp       
2010-01-06 17:54:21 UTC (rev 34919)
@@ -1,166 +1,166 @@
-/*
- * Copyright 2005, Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>.
+/*
+ * Copyright 2005, Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>.
  * Copyright 2010, Andreas Faerber <andreas.faerber@xxxxxx>
- * All rights reserved. Distributed under the terms of the MIT License.
- */
-
-
-#include <new>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <OS.h>
+ * All rights reserved. Distributed under the terms of the MIT License.
+ */
 
-#include <boot/platform.h>
-#include <boot/net/Ethernet.h>
-#include <boot/net/NetStack.h>
-#include <platform/openfirmware/openfirmware.h>
-
-
-//#define TRACE_NETWORK
-#ifdef TRACE_NETWORK
-#      define TRACE(x) dprintf x
-#else
-#      define TRACE(x) ;
-#endif
-
-
-class OFEthernetInterface : public EthernetInterface {
-public:
-       OFEthernetInterface();
-       virtual ~OFEthernetInterface();
-
-       status_t Init(const char *device, const char *parameters);
-
-       virtual mac_addr_t MACAddress() const;
-
-       virtual void *AllocateSendReceiveBuffer(size_t size);
-       virtual void FreeSendReceiveBuffer(void *buffer);
-
-       virtual ssize_t Send(const void *buffer, size_t size);
-       virtual ssize_t Receive(void *buffer, size_t size);
-
-private:
-       int                     fHandle;
-       mac_addr_t      fMACAddress;
-};
-
-
-#ifdef TRACE_NETWORK
-
-static void
-hex_dump(const void *_data, int length)
-{
-       uint8 *data = (uint8*)_data;
-       for (int i = 0; i < length; i++) {
-               if (i % 4 == 0) {
-                       if (i % 32 == 0) {
-                               if (i != 0)
-                                       printf("\n");
-                               printf("%03x: ", i);
-                       } else
-                               printf(" ");
-               }
-
-               printf("%02x", data[i]);
-       }
-       printf("\n");
-}
-
-#else  // !TRACE_NETWORK
-
-#define hex_dump(data, length)
-
-#endif // !TRACE_NETWORK
-
-
-static ip_addr_t
-parse_ip_address(const char *string)
-{
-       ip_addr_t address = 0;
-       int components = 0;
-
-       // TODO: Handles only IPv4 addresses for now.
-       while (components < 4) {
-               address |= strtol(string, NULL, 0) << ((4 - components - 1) * 
8);
-
-               const char *dot = strchr(string, '.');
-               if (dot == NULL)
-                       break;
-               
-               string = dot + 1;
-               components++;
-       }
-
-       return address;
-}
-
-
-// #pragma mark -
-
-
-OFEthernetInterface::OFEthernetInterface()
-       :
-       EthernetInterface(),
-       fHandle(OF_FAILED),
-       fMACAddress(kNoMACAddress)
-{
-}
-
-
-OFEthernetInterface::~OFEthernetInterface()
-{
-       if (fHandle != OF_FAILED)
-               of_close(fHandle);
-}
-
-
-status_t
-OFEthernetInterface::Init(const char *device, const char *parameters)
-{
-       if (!device)
-               return B_BAD_VALUE;
-
-       // open device
-       fHandle = of_open(device);
-       if (fHandle == OF_FAILED) {
-               printf("opening ethernet device failed\n");
-               return B_ERROR;
-       }
-
-       int package = of_instance_to_package(fHandle);
-
-       // get MAC address
-       int bytesRead = of_getprop(package, "local-mac-address", &fMACAddress,
-               sizeof(fMACAddress));
-       if (bytesRead == OF_FAILED || bytesRead < (int)sizeof(fMACAddress)) {
-               // Failed to get the MAC address of the network device. The 
system may
-               // have a global standard MAC address.
-               bytesRead = of_getprop(gChosen, "mac-address", &fMACAddress,
-                       sizeof(fMACAddress));
-               if (bytesRead == OF_FAILED || bytesRead < 
(int)sizeof(fMACAddress)) {
-                       printf("Failed to get MAC address\n");
-                       return B_ERROR;
-               }
-       }
-
-       // get IP address
-
-       // Note: This is a non-standardized way. On my Mac mini the response of 
the
-       // DHCP server is stored as property of /chosen. We try to get it and 
use
-       // the IP address we find in there.
-       struct {
-               uint8   irrelevant[16];
-               uint32  ip_address;
-               // ...
-       } dhcpResponse;
-       bytesRead = of_getprop(gChosen, "dhcp-response", &dhcpResponse,
-               sizeof(dhcpResponse));
-       if (bytesRead != OF_FAILED && bytesRead == (int)sizeof(dhcpResponse)) {
-               SetIPAddress(ntohl(dhcpResponse.ip_address));
-       } else {
+
+#include <new>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <OS.h>
+
+#include <boot/platform.h>
+#include <boot/net/Ethernet.h>
+#include <boot/net/NetStack.h>
+#include <platform/openfirmware/openfirmware.h>
+
+
+//#define TRACE_NETWORK
+#ifdef TRACE_NETWORK
+#      define TRACE(x) dprintf x
+#else
+#      define TRACE(x) ;
+#endif
+
+
+class OFEthernetInterface : public EthernetInterface {
+public:
+       OFEthernetInterface();
+       virtual ~OFEthernetInterface();
+
+       status_t Init(const char *device, const char *parameters);
+
+       virtual mac_addr_t MACAddress() const;
+
+       virtual void *AllocateSendReceiveBuffer(size_t size);
+       virtual void FreeSendReceiveBuffer(void *buffer);
+
+       virtual ssize_t Send(const void *buffer, size_t size);
+       virtual ssize_t Receive(void *buffer, size_t size);
+
+private:
+       int                     fHandle;
+       mac_addr_t      fMACAddress;
+};
+
+
+#ifdef TRACE_NETWORK
+
+static void
+hex_dump(const void *_data, int length)
+{
+       uint8 *data = (uint8*)_data;
+       for (int i = 0; i < length; i++) {
+               if (i % 4 == 0) {
+                       if (i % 32 == 0) {
+                               if (i != 0)
+                                       printf("\n");
+                               printf("%03x: ", i);
+                       } else
+                               printf(" ");
+               }
+
+               printf("%02x", data[i]);
+       }
+       printf("\n");
+}
+
+#else  // !TRACE_NETWORK
+
+#define hex_dump(data, length)
+
+#endif // !TRACE_NETWORK
+
+
+static ip_addr_t
+parse_ip_address(const char *string)
+{
+       ip_addr_t address = 0;
+       int components = 0;
+
+       // TODO: Handles only IPv4 addresses for now.
+       while (components < 4) {
+               address |= strtol(string, NULL, 0) << ((4 - components - 1) * 
8);
+
+               const char *dot = strchr(string, '.');
+               if (dot == NULL)
+                       break;
+
+               string = dot + 1;
+               components++;
+       }
+
+       return address;
+}
+
+
+// #pragma mark -
+
+
+OFEthernetInterface::OFEthernetInterface()
+       :
+       EthernetInterface(),
+       fHandle(OF_FAILED),
+       fMACAddress(kNoMACAddress)
+{
+}
+
+
+OFEthernetInterface::~OFEthernetInterface()
+{
+       if (fHandle != OF_FAILED)
+               of_close(fHandle);
+}
+
+
+status_t
+OFEthernetInterface::Init(const char *device, const char *parameters)
+{
+       if (!device)
+               return B_BAD_VALUE;
+
+       // open device
+       fHandle = of_open(device);
+       if (fHandle == OF_FAILED) {
+               printf("opening ethernet device failed\n");
+               return B_ERROR;
+       }
+
+       int package = of_instance_to_package(fHandle);
+
+       // get MAC address
+       int bytesRead = of_getprop(package, "local-mac-address", &fMACAddress,
+               sizeof(fMACAddress));
+       if (bytesRead == OF_FAILED || bytesRead < (int)sizeof(fMACAddress)) {
+               // Failed to get the MAC address of the network device. The 
system may
+               // have a global standard MAC address.
+               bytesRead = of_getprop(gChosen, "mac-address", &fMACAddress,
+                       sizeof(fMACAddress));
+               if (bytesRead == OF_FAILED || bytesRead < 
(int)sizeof(fMACAddress)) {
+                       printf("Failed to get MAC address\n");
+                       return B_ERROR;
+               }
+       }
+
+       // get IP address
+
+       // Note: This is a non-standardized way. On my Mac mini the response of 
the
+       // DHCP server is stored as property of /chosen. We try to get it and 
use
+       // the IP address we find in there.
+       struct {
+               uint8   irrelevant[16];
+               uint32  ip_address;
+               // ...
+       } dhcpResponse;
+       bytesRead = of_getprop(gChosen, "dhcp-response", &dhcpResponse,
+               sizeof(dhcpResponse));
+       if (bytesRead != OF_FAILED && bytesRead == (int)sizeof(dhcpResponse)) {
+               SetIPAddress(ntohl(dhcpResponse.ip_address));
+       } else {
                // try to read manual client IP from boot path
                if (parameters != NULL) {
                        char *comma = strrchr(parameters, ',');
@@ -169,136 +169,136 @@
                        }
                }
                if (fIPAddress == 0) {
-                       // try to read default-client-ip setting
-                       char defaultClientIP[16];
-                       package = of_finddevice("/options");
+                       // try to read default-client-ip setting
+                       char defaultClientIP[16];
+                       package = of_finddevice("/options");
                        bytesRead = of_getprop(package, "default-client-ip",
-                               defaultClientIP, sizeof(defaultClientIP) - 1);
-                       if (bytesRead != OF_FAILED && bytesRead > 1) {
-                               defaultClientIP[bytesRead] = '\0';
-                               ip_addr_t address = 
parse_ip_address(defaultClientIP);
-                               SetIPAddress(address);
+                               defaultClientIP, sizeof(defaultClientIP) - 1);
+                       if (bytesRead != OF_FAILED && bytesRead > 1) {
+                               defaultClientIP[bytesRead] = '\0';
+                               ip_addr_t address = 
parse_ip_address(defaultClientIP);
+                               SetIPAddress(address);
                        }
-               }
-       }
-
-       return B_OK;
-}
-
-
-mac_addr_t
-OFEthernetInterface::MACAddress() const
-{
-       return fMACAddress;
-}
-
-
-void *
-OFEthernetInterface::AllocateSendReceiveBuffer(size_t size)
-{
-       void *dmaMemory;
-       if (of_call_method(fHandle, "dma-alloc", 1, 1, size, &dmaMemory)
-                       == OF_FAILED) {
-               return NULL;
-       }
-       return dmaMemory;
-}
-
-
-void
-OFEthernetInterface::FreeSendReceiveBuffer(void *buffer)
-{
-       if (buffer)
-               of_call_method(fHandle, "dma-free", 1, 0, buffer);
-}
-
-
-ssize_t
-OFEthernetInterface::Send(const void *buffer, size_t size)
-{
-       TRACE(("OFEthernetInterface::Send(%p, %lu)\n", buffer, size));
-
-       if (!buffer)
-               return B_BAD_VALUE;
-
-       hex_dump(buffer, size);
-
-       int result = of_write(fHandle, buffer, size);
-       return (result == OF_FAILED ? B_ERROR : result);
-}
-
-
-ssize_t
-OFEthernetInterface::Receive(void *buffer, size_t size)
-{
-       if (!buffer)
-               return B_BAD_VALUE;
-
-       int result = of_read(fHandle, buffer, size);
-
-       if (result != OF_FAILED && result >= 0) {
-               TRACE(("OFEthernetInterface::Receive(%p, %lu): received %d 
bytes\n",
-                       buffer, size, result));
-               hex_dump(buffer, result);
-       }
-
-       return (result == OF_FAILED ? B_ERROR : result);
-}
-
-
-// #pragma mark -
-
-
-status_t
-platform_net_stack_init()
-{
-       // Note: At the moment we only do networking at all, if the boot device
-       // is a network device. If it isn't, we simply fail here. For serious
-       // support we would want to iterate through the device tree and add all
-       // network devices.
-
-       // get boot path
-       char bootPath[192];
-       int length = of_getprop(gChosen, "bootpath", bootPath, 
sizeof(bootPath));
-       if (length <= 1)
-               return B_ERROR;
-
-       // we chop off parameters; otherwise opening the network device might 
have
-       // side effects
-       char *lastComponent = strrchr(bootPath, '/');
-       char *parameters = strchr((lastComponent ? lastComponent : bootPath), 
':');
-       if (parameters)
-               *parameters = '\0';
-
-       // get device node
-       int node = of_finddevice(bootPath);
-       if (node == OF_FAILED)
-               return B_ERROR;
-
-       // get device type
-       char type[16];
-       if (of_getprop(node, "device_type", type, sizeof(type)) == OF_FAILED
-               || strcmp("network", type) != 0) {
-               return B_ERROR;
-       }
-
-       // create an EthernetInterface object for the device
-       OFEthernetInterface *interface = new(nothrow) OFEthernetInterface;
-       if (!interface)
-               return B_NO_MEMORY;
-
-       status_t error = interface->Init(bootPath, parameters + 1);
-       if (error != B_OK) {
-               delete interface;
-               return error;
-       }
-
-       // add it to the net stack
-       error = NetStack::Default()->AddEthernetInterface(interface);
-       if (error != B_OK) {
-               delete interface;
-               return error;
-       }
-
-       return B_OK;
-}
+               }
+       }
+
+       return B_OK;
+}
+
+
+mac_addr_t
+OFEthernetInterface::MACAddress() const
+{
+       return fMACAddress;
+}
+
+
+void *
+OFEthernetInterface::AllocateSendReceiveBuffer(size_t size)
+{
+       void *dmaMemory;
+       if (of_call_method(fHandle, "dma-alloc", 1, 1, size, &dmaMemory)
+                       == OF_FAILED) {
+               return NULL;
+       }
+       return dmaMemory;
+}
+
+
+void
+OFEthernetInterface::FreeSendReceiveBuffer(void *buffer)
+{
+       if (buffer)
+               of_call_method(fHandle, "dma-free", 1, 0, buffer);
+}
+
+
+ssize_t
+OFEthernetInterface::Send(const void *buffer, size_t size)
+{
+       TRACE(("OFEthernetInterface::Send(%p, %lu)\n", buffer, size));
+
+       if (!buffer)
+               return B_BAD_VALUE;
+
+       hex_dump(buffer, size);
+
+       int result = of_write(fHandle, buffer, size);
+       return (result == OF_FAILED ? B_ERROR : result);
+}
+
+
+ssize_t
+OFEthernetInterface::Receive(void *buffer, size_t size)
+{
+       if (!buffer)
+               return B_BAD_VALUE;
+
+       int result = of_read(fHandle, buffer, size);
+
+       if (result != OF_FAILED && result >= 0) {
+               TRACE(("OFEthernetInterface::Receive(%p, %lu): received %d 
bytes\n",
+                       buffer, size, result));
+               hex_dump(buffer, result);
+       }
+
+       return (result == OF_FAILED ? B_ERROR : result);
+}
+
+
+// #pragma mark -
+
+
+status_t
+platform_net_stack_init()
+{
+       // Note: At the moment we only do networking at all, if the boot device
+       // is a network device. If it isn't, we simply fail here. For serious
+       // support we would want to iterate through the device tree and add all
+       // network devices.
+
+       // get boot path
+       char bootPath[192];
+       int length = of_getprop(gChosen, "bootpath", bootPath, 
sizeof(bootPath));
+       if (length <= 1)
+               return B_ERROR;
+
+       // we chop off parameters; otherwise opening the network device might 
have
+       // side effects
+       char *lastComponent = strrchr(bootPath, '/');
+       char *parameters = strchr((lastComponent ? lastComponent : bootPath), 
':');
+       if (parameters)
+               *parameters = '\0';
+
+       // get device node
+       int node = of_finddevice(bootPath);
+       if (node == OF_FAILED)
+               return B_ERROR;
+
+       // get device type
+       char type[16];
+       if (of_getprop(node, "device_type", type, sizeof(type)) == OF_FAILED
+               || strcmp("network", type) != 0) {
+               return B_ERROR;
+       }
+
+       // create an EthernetInterface object for the device
+       OFEthernetInterface *interface = new(nothrow) OFEthernetInterface;
+       if (!interface)
+               return B_NO_MEMORY;
+
+       status_t error = interface->Init(bootPath, parameters + 1);
+       if (error != B_OK) {
+               delete interface;
+               return error;
+       }
+
+       // add it to the net stack
+       error = NetStack::Default()->AddEthernetInterface(interface);
+       if (error != B_OK) {
+               delete interface;
+               return error;
+       }
+
+       return B_OK;
+}


Other related posts:

  • » [haiku-commits] r34919 - haiku/trunk/src/system/boot/platform/openfirmware - superstippi