]> Creatis software - gdcm.git/blobdiff - src/gdcmUtil.cxx
ENH: Since HandleOutOfGroup0002 need access to the transfer syntax move the method...
[gdcm.git] / src / gdcmUtil.cxx
index c56e707b41ab74d2bac047a2f984fbb81448ba17..443abb45e88445858ee6d2c23713b9b1045e8bb3 100644 (file)
@@ -3,8 +3,8 @@
   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, ...)
@@ -299,24 +347,16 @@ bool Util::DicomStringEqual(const std::string &s1, const char *s2)
  */
 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,
@@ -337,46 +377,10 @@ typedef BOOL(WINAPI * pSnmpExtensionQuery) (
 
 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)