Show
Ignore:
Timestamp:
05/08/08 01:38:46 (16 years ago)
Author:
ppalmers
Message:

revert r1131 since it's does unconditional byteswapping

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/libieee1394/ARMHandler.h

    r1131 r1134  
    6464 
    6565    nodeaddr_t getStart() {return m_start;}; 
    66     size_t getLength() {return m_length;}; 
     66    nodeaddr_t getLength() {return m_length;}; 
    6767    unsigned int getAccessRights() {return m_access_rights;}; 
    6868    unsigned int getNotificationOptions() {return m_notification_options;}; 
  • trunk/libffado/src/libieee1394/ieee1394service.cpp

    r1131 r1134  
    3939 
    4040#include <errno.h> 
    41 #include <byteswap.h> 
     41#include <netinet/in.h> 
    4242 
    4343#include <string.h> 
     
    388388                CSR_REGISTER_BASE | CSR_CYCLE_TIME, 
    389389                sizeof(uint32_t), cycle_timer ) == 0 ) { 
    390             *cycle_timer = bswap_32(*cycle_timer); 
     390            *cycle_timer = ntohl(*cycle_timer); 
    391391            return true; 
    392392        } else { 
     
    479479    return write( nodeId, addr, sizeof( data )/4, 
    480480                  reinterpret_cast<fb_quadlet_t*>( &data ) ); 
     481} 
     482 
     483fb_octlet_t 
     484Ieee1394Service::byteSwap_octlet(fb_octlet_t value) { 
     485    #if __BYTE_ORDER == __BIG_ENDIAN 
     486        return value; 
     487    #elif __BYTE_ORDER == __LITTLE_ENDIAN 
     488        fb_quadlet_t in_hi = (value >> 32) & 0xFFFFFFFF; 
     489        fb_quadlet_t in_lo = value & 0xFFFFFFFF; 
     490        in_hi = htonl(in_hi); 
     491        in_lo = htonl(in_lo); 
     492        fb_octlet_t value_new = in_lo; 
     493        value_new <<= 32; 
     494        value_new |= in_hi; 
     495        return value_new; 
     496    #else 
     497        #error Unknown endiannes 
     498    #endif 
    481499} 
    482500 
     
    502520 
    503521    // do endiannes swapping 
    504     compare_value = bswap_64(compare_value); 
    505     swap_value    = bswap_64(swap_value); 
     522    compare_value = byteSwap_octlet(compare_value); 
     523    swap_value    = byteSwap_octlet(swap_value); 
    506524 
    507525    // do separate locking here (no MutexLockHelper) since  
     
    525543    #endif 
    526544 
    527     *result = bswap_64(*result); 
     545    *result = byteSwap_octlet(*result); 
    528546 
    529547    return (retval == 0); 
     
    539557    m_handle_lock->Lock(); 
    540558    for (int i = 0; i < len; ++i) { 
    541         buf[i] = bswap_32( buf[i] ); 
     559        buf[i] = ntohl( buf[i] ); 
    542560    } 
    543561 
     
    551569 
    552570    for ( unsigned int i = 0; i < *resp_len; ++i ) { 
    553         result[i] = bswap_32( result[i] ); 
     571        result[i] = htonl( result[i] ); 
    554572    } 
    555573 
     
    10961114    if (result < 0) 
    10971115        return -1; 
    1098     return bswap_32(buffer); 
     1116    return ntohl(buffer); 
    10991117} 
    11001118 
  • trunk/libffado/src/libieee1394/ieee1394service.h

    r1131 r1134  
    345345    arm_handler_vec_t m_armHandlers; 
    346346 
     347    fb_octlet_t byteSwap_octlet(fb_octlet_t value); 
     348 
    347349public: 
    348350    void setVerboseLevel(int l); 
  • trunk/libffado/src/libieee1394/IsoHandler.cpp

    r1131 r1134  
    3434 
    3535#include <errno.h> 
    36 #include <byteswap.h> 
     36#include <netinet/in.h> 
    3737#include <assert.h> 
    3838#include <unistd.h>