Program: gdcm
Module: $RCSfile: gdcmUtil.cxx,v $
Language: C++
- Date: $Date: 2005/01/08 23:00:23 $
- Version: $Revision: 1.85 $
+ Date: $Date: 2005/01/11 00:24:44 $
+ Version: $Revision: 1.89 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#endif
#endif
+// For GetMACAddress
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _WIN32
+#include <snmp.h>
+#include <conio.h>
+#else
+#include <strings.h> //for bzero on unix
+#endif
+
+#ifdef __linux__
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <linux/if.h>
+#endif
+
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <ifaddrs.h>
+#include <net/if_dl.h>
+#endif
+
+#ifdef __HP_aCC
+#include <netio.h>
+#endif
+
+#ifdef _AIX
+#include <sys/ndd_var.h>
+#include <sys/kinfo.h>
+#endif
+
+#ifdef __APPLE__
+#include <CoreFoundation/CoreFoundation.h>
+#include <IOKit/IOKitLib.h>
+#include <IOKit/network/IOEthernetInterface.h>
+#include <IOKit/network/IONetworkInterface.h>
+#include <IOKit/network/IOEthernetController.h>
+#endif //__APPLE__
+// End For GetMACAddress
+
namespace gdcm
{
/**
* \ingroup Globals
* \brief Provide a better 'c++' approach for sprintf
* For example c code is:
- * sprintf(trash, "%04x|%04x", group , element);
+ * sprintf(trash, "%04x|%04x", group , elem);
*
- * c++ is
+ * c++ code is
* std::ostringstream buf;
* buf << std::right << std::setw(4) << std::setfill('0') << std::hex
* << group << "|" << std::right << std::setw(4) << std::setfill('0')
- * << std::hex << element;
+ * << std::hex << elem;
* buf.str();
+ *
+ * gdcm style code is
+ * Format("%04x|%04x", group , elem);
*/
std::string Util::Format(const char *format, ...)
*/
bool Util::IsCurrentProcessorBigEndian()
{
- uint16_t intVal = 1;
- uint8_t bigEndianRepr[4] = { 0x00, 0x00, 0x00, 0x01 };
- int res = memcmp(reinterpret_cast<const void*>(&intVal),
- reinterpret_cast<const void*>(bigEndianRepr), 4);
- if (res == 0)
- return true;
- else
- return false;
+#ifdef GDCM_WORDS_BIGENDIAN
+ return true;
+#else
+ return false;
+#endif
}
-#include <fcntl.h>
-#include <stdlib.h>
-#include <string.h>
#ifdef _WIN32
-#include <snmp.h>
-#include <conio.h>
typedef BOOL(WINAPI * pSnmpExtensionInit) (
IN DWORD dwTimeZeroReference,
OUT HANDLE * hPollForTrapEvent,
typedef BOOL(WINAPI * pSnmpExtensionInitEx) (
OUT AsnObjectIdentifier * supportedView);
-#else
-#include <strings.h> //for bzero on unix
#endif //_WIN32
-#ifdef __linux__
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <linux/if.h>
-#endif
-
-#ifdef __FreeBSD__
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <ifaddrs.h>
-#include <net/if_dl.h>
-#endif
-
-#ifdef __HP_aCC
-#include <netio.h>
-#endif
-
-#ifdef _AIX
-#include <sys/ndd_var.h>
-#include <sys/kinfo.h>
-#endif
#ifdef __APPLE__
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#include <IOKit/IOKitLib.h>
-#include <IOKit/network/IOEthernetInterface.h>
-#include <IOKit/network/IONetworkInterface.h>
-#include <IOKit/network/IOEthernetController.h>
-
-//static kern_return_t FindEthernetInterfaces(io_iterator_t *matchingServices);
-//static kern_return_t GetMACAddress(io_iterator_t intfIterator, UInt8 *MACAddress);
-
// Returns an iterator containing the primary (built-in) Ethernet interface. The caller is responsible for
// releasing the iterator after the caller is done with it.
static kern_return_t FindEthernetInterfaces(io_iterator_t *matchingServices)