Correct assorted 64-bit issues with pointers, type casting, and struct packing. Signed-off-by: Paul Donohue <wimax at PaulSD.com> diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/CommonServices/VersionUtils.h wimax-1.5.1/InfraStack/OSAgnostic/Common/CommonServices/VersionUtils.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/CommonServices/VersionUtils.h 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/CommonServices/VersionUtils.h 2010-10-04 18:41:02.000000000 -0400 @@ -51,6 +51,7 @@ UINT32 revision; UINT32 branch; } wmx_Version_t, *wmx_pVersion_t; +#pragma pack( pop ) typedef char* wmx_ModuleName_t; typedef char* wmx_pVersionStr_t; @@ -62,6 +63,7 @@ wmx_ModuleName_t moduleName; wmx_Version_t version; } wmx_VersionEntry_t, *wmx_pVersionEntry_t; +#pragma pack( pop ) BOOL VersionUtils_Init(); @@ -73,4 +75,4 @@ EXTERN_C EXPORT VERSION_RESULT ValidateVersion(wmx_ModuleName_t moduleName, wmx_Version_t actualVersion, wmx_Version_t expectedVersion); -#endif // _VERSION_UTILS_H \ No newline at end of file +#endif // _VERSION_UTILS_H diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h 2010-10-04 18:35:39.000000000 -0400 @@ -67,6 +67,10 @@ #define MASK_1 (0xFFFFFFFFFFFFFFFF) #define MASK_2 (0xFFFFFFFFFFFFFFFE) #define MASK_4 (0xFFFFFFFFFFFFFFFC) +#elif __x86_64__ +#define MASK_1 (0xFFFFFFFFFFFFFFFF) +#define MASK_2 (0xFFFFFFFFFFFFFFFE) +#define MASK_4 (0xFFFFFFFFFFFFFFFC) #else #define MASK_1 (0xFFFFFFFF) #define MASK_2 (0xFFFFFFFE) diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h 2010-10-04 18:35:39.000000000 -0400 @@ -91,6 +91,8 @@ /// when you need to hold both a pointer and a number #ifdef WIN64 typedef UINT64 POINTER_AND_UINT; +#elif __x86_64__ +typedef UINT64 POINTER_AND_UINT; #else typedef UINT POINTER_AND_UINT; #endif diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/IndicatorsSubscribers.c wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/IndicatorsSubscribers.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/IndicatorsSubscribers.c 2010-10-02 03:28:24.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/IndicatorsSubscribers.c 2010-10-04 18:40:31.000000000 -0400 @@ -153,7 +153,7 @@ SendIndData *buffer = _buffer; ListItem* handle; L5_TARGET_ID targetID; - ULONG_PTR data; + L5_TARGET_ID data; L5_RESULT res; IndicatorSubscribers *indSubscribers; List tempList; @@ -174,12 +174,12 @@ handle = CreateIterator(&(indSubscribers->subscribersList)); // handle = Iterator_GetNext(&(indSubscribers->subscribersList), handle, (void**)&targetID); handle = Iterator_GetNext(&(indSubscribers->subscribersList), handle, (void**)(&data)); - targetID = (int) data; + targetID = data; while (handle != NULL) { List_AddItem(&tempList, (void *)targetID); handle = Iterator_GetNext(&(indSubscribers->subscribersList), handle, (void**)(&data)); - targetID = (int)data; //// + targetID = data; //// // handle = Iterator_GetNext(&(indSubscribers->subscribersList), handle, (void**)&targetID); } @@ -189,7 +189,7 @@ //iterate the temp list and send the targets indication: handle = CreateIterator(&tempList); handle = Iterator_GetNext(&tempList, handle, (void**)(&data)); - targetID = (int) data; + targetID = data; // handle = Iterator_GetNext(&tempList, handle, (void**)&targetID); while (handle != NULL) @@ -219,7 +219,7 @@ // handle = Iterator_GetNext(&tempList, handle, (void**)&targetID); handle = Iterator_GetNext(&tempList, handle, (void**)(&data)); - targetID = (int) data; + targetID = data; // TODO - XXX - check L5_COMMON_UTILS_IsTargetNotExist diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5Common.h wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5Common.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5Common.h 2010-10-02 03:28:23.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5Common.h 2010-10-04 18:40:31.000000000 -0400 @@ -282,5 +282,6 @@ extern tL5DispatcherFunctions *GetL5Funcs(); extern tUtilityFunctions *GetUtilsFuncs(); +#pragma pack(pop) #endif diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c 2010-10-04 18:35:39.000000000 -0400 @@ -182,7 +182,7 @@ result = l5_common_utils_ActuallySendMessage( Socket, pMessage ); - TRACE(TR_MOD_SERVICE, TR_SEV_NOTICE, "Result of ActuallySendMessage is %d %d", result); + TRACE(TR_MOD_SERVICE, TR_SEV_NOTICE, "Result of ActuallySendMessage is %d", result); return result; } diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c wimax-1.5.1/InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c 2010-10-02 03:28:24.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c 2010-10-04 18:35:39.000000000 -0400 @@ -61,7 +61,8 @@ L5_CONNECTION L5Conn; // Can be NULL before handshake // Is this an active slot? - BOOL bActive; + // Updated using OSAL_atomic_exchange(), so this must be a LONG not a BOOL + LONG bActive; // Connections from both sides SOCKETS_CLIENT_ID Socket; @@ -702,7 +703,7 @@ // XXX SEH error handling OSAL_init_critical_section( &(pConn->csSendReceive) ); OSAL_init_critical_section( &(pConn->csHandlingRequest) ); - OSAL_atomic_exchange( (LPLONG)&(pConn->bActive), TRUE ); + OSAL_atomic_exchange( &(pConn->bActive), TRUE ); *context = pConn; @@ -1034,7 +1035,7 @@ L5_DISPATCHER_Disconnect( pConn->L5Conn ); } - OSAL_atomic_exchange( (LPLONG)&(pConn->bActive), FALSE ); + OSAL_atomic_exchange( &(pConn->bActive), FALSE ); OSAL_exit_critical_section( &(pConn->csHandlingRequest) ); OSAL_delete_critical_section(&pConn->csSendReceive); diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/NDnS/APDO/NDnSAgent_APDO_CBs.c wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/NDnS/APDO/NDnSAgent_APDO_CBs.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/NDnS/APDO/NDnSAgent_APDO_CBs.c 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/NDnS/APDO/NDnSAgent_APDO_CBs.c 2010-10-04 18:40:31.000000000 -0400 @@ -487,8 +487,8 @@ lastConnectedStatus = Ndns_GetLastConnectedState(); // Check if the link status has changed - if (linkStatus == APDO_linkUp && lastConnectedStatus == FALSE || - linkStatus == APDO_linkDown && lastConnectedStatus == TRUE) + if ((linkStatus == APDO_linkUp && lastConnectedStatus == FALSE) || + (linkStatus == APDO_linkDown && lastConnectedStatus == TRUE)) { return; // No change in the link status } diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/NDnS/Source/NDnSAgent_Internals.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/NDnS/Source/NDnSAgent_Internals.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/NDnS/Source/NDnSAgent_Internals.h 2010-10-02 03:28:23.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/NDnS/Source/NDnSAgent_Internals.h 2010-10-04 18:35:39.000000000 -0400 @@ -200,8 +200,8 @@ wmx_ConnectStatus_t connectStatus; int DummyForCompilerHappy3; TinyFSM_t fsm; - L4C_Task scheduledTask; - wmx_ScheduledTaskData_t scheduledTaskData; + LONG scheduledTask; // Updated using OSAL_atomic_exchange(), so this must be a LONG not an L4C_Task + wmx_ScheduledTaskData_t scheduledTaskData; wmx_Status_t scanStatus; wmx_LinkLossType_t linkLossType; wmx_ScanType_t currentScanType; diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/ds/driver_broadcom.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/ds/driver_broadcom.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/ds/driver_broadcom.h 2010-06-07 19:20:50.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/ds/driver_broadcom.h 2010-10-04 18:40:31.000000000 -0400 @@ -20,15 +20,15 @@ typedef unsigned char bool; /* consistent w/BOOL */ /* require default structure packing */ -#if !defined(__GNUC__) -#pragma pack(push,8) -#endif +//#if !defined(__GNUC__) +//#pragma pack(push,8) +//#endif /* enable structure packing */ #if defined(__GNUC__) #define PACKED __attribute__((packed)) #else -#pragma pack(1) +#pragma pack(push,1) #define PACKED #endif diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/SupplicantAgent.c wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/SupplicantAgent.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/SupplicantAgent.c 2010-10-02 03:28:24.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Agents/Supplicant/Source/SupplicantAgent.c 2010-10-04 18:40:31.000000000 -0400 @@ -482,7 +482,7 @@ eap_ctx.eap_config.password_len = 8; eap_ctx.eap_config.ca_cert = (u8 *) os_strdup("ca.pem"); eap_ctx.eap_config.fragment_size = TLS_MAX_SIZE; - eap_ctx.eap_config.eap_methods = eap_methods; + eap_ctx.eap_config.eap_methods = &eap_methods; memset(&eap_cb, 0, sizeof(eap_cb)); eap_cb.get_config = peer_get_config; diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Msc_2.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Msc_2.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Msc_2.h 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Msc_2.h 2010-10-04 18:41:14.000000000 -0400 @@ -87,6 +87,7 @@ UINT32 modelTypeID; char modelTypeName[WMX_MODEL_TYPE_NAME_MAX_LENGTH]; } wmx_ModelType_t, *wmx_pModelType_t; +#pragma pack( pop ) /// <summary> /// A constant specifying the maximal length of the manufacturer string. @@ -102,6 +103,7 @@ UINT32 manufacturerID; char manufacturerName[WMX_MANUFACTURER_NAME_MAX_LENGTH]; } wmx_Manufacturer_t, *wmx_pManufacturer_t; +#pragma pack( pop ) /// <summary> /// Definition of a struct that holds the manufacturer ID and string. @@ -111,6 +113,7 @@ { UINT32 productID; } wmx_DevicePID_t, *wmx_pDevicePID_t; +#pragma pack( pop ) /// <summary> /// A constant specifying the maximal length of the serial number string. @@ -125,6 +128,7 @@ { char serialNumber[WMX_SERIAL_NUMBER_MAX_LENGTH]; } wmx_SerialNumber_t, *wmx_pSerialNumber_t; +#pragma pack( pop ) @@ -140,6 +144,7 @@ // UINT32 TotalTxBytes; // UINT32 TotalTxPackets; //} wmx_Statistics_t, *wmx_pStatistics_t; +//#pragma pack( pop ) /// <summary> @@ -153,6 +158,7 @@ UINT32 noReceivedBytes; UINT32 noTransmittedBytes; } wmx_SfStatistics_t, *wmx_pSfStatistics_t; +#pragma pack( pop ) /// <summary> /// A constant specifying the maximal length of the strings in the wmx_DeviceVersion_t struct. @@ -171,6 +177,7 @@ char BoardName[WMX_DEVICE_VERSION_MAX_LENGTH]; char Software[WMX_DEVICE_VERSION_MAX_LENGTH]; } wmx_DeviceVersion_t, *wmx_pDeviceVersion_t; +#pragma pack( pop ) @@ -230,4 +237,4 @@ wmx_Status_t WMX_WRAPPER_API WMX_EXT_CALL_CONV wmx_GetDeviceVersion( wmx_pDeviceVersion_t pDeviceVersion ); wmx_Status_t WMX_WRAPPER_API WMX_EXT_CALL_CONV wmx_ResetDevice( ); -#endif // _WMX_SDK_MSC_2_H \ No newline at end of file +#endif // _WMX_SDK_MSC_2_H diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_1.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_1.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_1.h 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_1.h 2010-10-04 18:41:23.000000000 -0400 @@ -235,6 +235,7 @@ UINT32 TotalTxBytes; UINT32 TotalTxPackets; } wmx_Statistics_t, *wmx_pStatistics_t; +#pragma pack( pop ) /// <summary> /// Type definition for a structure giving a detailed info on a system state. @@ -671,4 +672,4 @@ wmx_Status_t WMX_WRAPPER_API WMX_EXT_CALL_CONV wmx_GetSpLockStatus(wmx_pSpLock_t pSpLockStatus); wmx_Status_t wmx_CmdSpLockUnLock(wmx_SpLockCode_t SpLockCode); -#endif // _WMX_SDK_NDS_1_H \ No newline at end of file +#endif // _WMX_SDK_NDS_1_H diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_3.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_3.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_3.h 2010-10-02 03:28:23.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_3.h 2010-10-04 18:40:31.000000000 -0400 @@ -110,6 +110,7 @@ wmx_LinkSpeed_t downLinkSpeed; UINT32 agreementLevel; } wmx_SLA_t, *wmx_pSLA_t; +#pragma pack( pop ) #define WMX_SUBSCRIBER_NAME_MAX_SIZE 100 #define WMX_SUBSCRIBER_ID_MAX_SIZE 256 @@ -125,6 +126,7 @@ BOOL userCredRequired; ////////////////// } wmx_SubscriberInfo_t, *wmx_pSubscriberInfo_t; +#pragma pack( pop ) /// <summary> /// Type definition for a struct containing information of a specific NSP. @@ -149,6 +151,7 @@ wmx_SubscriberInfo_t subscribers[WMX_NSP_SUBSCRIBERS_MAX_NUM]; // The list of subscribers associated with this NSP on this device. UINT32 numOfSubscribers; } wmx_NSP_t, *wmx_pNSP_t; +#pragma pack( pop ) // TODO: Add description #pragma pack( push, 1 ) @@ -158,6 +161,7 @@ UINT32 uriType; //TODO - don't forget to validate the values 0-255 char text[MAX_SIZE_OF_STRING_BUFFER]; } wmx_ContactInformation_t, *wmx_pContactInformation_t; +#pragma pack( pop ) /// <summary> /// Type definition for an enum specifying the possible outcomes of a scan cycle. @@ -224,6 +228,7 @@ wmx_LinkSpeed_t downLinkSpeed; wmx_BSid_t bsId; } wmx_UserLinkStatus_t, *wmx_pUserLinkStatus_t; +#pragma pack( pop ) #pragma pack( push, 1 ) typedef struct _wmx_UserStatistics_t @@ -234,6 +239,7 @@ UINT32 TotalTxBytes; UINT32 TotalTxPackets; } wmx_UserStatistics_t, *wmx_pUserStatistics_t; +#pragma pack( pop ) /// <summary> /// A constant specifying the maximal length of a NSPs structs vector (in terms of the number of wmx_NSP_t structs the vector can contain). diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_Cmn.h wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_Cmn.h --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_Cmn.h 2010-10-02 03:28:23.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/Include/wmxSDK_Nds_Cmn.h 2010-10-04 18:40:31.000000000 -0400 @@ -435,6 +435,7 @@ wmx_RfStatus_t swRfStatus; wmx_RfStatus_t hwRfStatus; }wmx_RfSwitchesStatus_t, *wmx_pRfSwitchesStatus_t; +#pragma pack( pop ) /// <summary> /// A struct in which the API will place information (such as URLs, VoIP numbers, ?) that are relevant to the @@ -446,6 +447,7 @@ { char contactDetails[MAX_CONTACT_DETAILS_SIZE]; } wmx_APDOContactInfo_t, *wmx_pAPDOContactInfo_t; +#pragma pack( pop ) /// <summary> /// A struct in which the API will place information which is needed in the package update process. @@ -460,6 +462,7 @@ BOOL mandatoryUpdate; /**< (TRUE = mandatory FALSE, optional) */ BOOL warnUser; /**< (TRUE = warn user, FALSE = no user warning */ } wmx_PackageInfo_t, *wmx_pPackageInfo_t; +#pragma pack( pop ) typedef enum _wmx_SPLockStatus_t { @@ -507,5 +510,6 @@ char fwVersion[MAX_INSTALLAION_VERSION_SIZE]; char hwVersion[MAX_INSTALLAION_VERSION_SIZE]; } wmx_InstallationInfo_t, *wmx_pInstallationInfo_t; +#pragma pack( pop ) #endif // _WMX_SDK_NDS_CMN_H diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/NDnS/wmxSDK_Coex_1.c wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/NDnS/wmxSDK_Coex_1.c --- wimax-1.5.1.orig//InfraStack/OSAgnostic/WiMax/Wrappers/NDnS/wmxSDK_Coex_1.c 2010-06-07 19:20:49.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSAgnostic/WiMax/Wrappers/NDnS/wmxSDK_Coex_1.c 2010-10-04 18:40:31.000000000 -0400 @@ -64,7 +64,7 @@ if (coexMode == WMX_MODE_CM && UserCall){ TRACE(TR_MOD_NDNS_AGENT, TR_SEV_NOTICE, "SetCoexistanceMode recieved set CM mode in CM mode."); if (act_thread_coexHandler!=NULL){ - OSAL_kill_thread(&act_thread_coexHandler); + OSAL_kill_thread(act_thread_coexHandler); retStatus = WMX_ST_OK; } // setting fall to xor key to zero so we never fall to xor even when driver falls and brings itself up diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/InfraStackModules/CommonAPIHeaders/WiMaxType.h wimax-1.5.1/InfraStack/OSDependent/Linux/InfraStackModules/CommonAPIHeaders/WiMaxType.h --- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/InfraStackModules/CommonAPIHeaders/WiMaxType.h 2010-06-07 19:20:48.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSDependent/Linux/InfraStackModules/CommonAPIHeaders/WiMaxType.h 2010-10-04 18:40:31.000000000 -0400 @@ -305,7 +305,7 @@ { UINT32 structureSize; /**< size of this structure. */ WIMAX_API_PROFILE_ID profileID; /**< profile ID. Profile id 0 is reserve to connection without specifying a user account. */ - char profileName[MAX_SIZE_OF_STRING_BUFFER]; /**< profile name. */ + WIMAX_CHAR profileName[MAX_SIZE_OF_STRING_BUFFER]; /**< profile name. */ } WIMAX_API_PROFILE_INFO, *WIMAX_API_PROFILE_INFO_P; /// Device version @@ -467,6 +467,8 @@ } WIMAX_API_INTERFACE_INFO, *WIMAX_API_INTERFACE_INFO_P; #endif +#pragma pack( pop ) + /// The statuses provided by this API can generally be mapped to movements along the SDK common state machine. The indications may provide further detailed information using the API?s arguments when relevant. /// \param[in] pDeviceId - Pointer to Device Identifier passed on open of device. /// \param[in] deviceStatus - The device Status value diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h --- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h 2010-06-07 19:20:48.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h 2010-10-04 18:35:39.000000000 -0400 @@ -39,6 +39,7 @@ #include <string.h> #include <ctype.h> #include <sys/stat.h> +#include <pthread.h> #if 0 #include <sys/socket.h> @@ -90,7 +91,7 @@ typedef int pid_t; -typedef int OSAL_thread_t; +typedef pthread_t OSAL_thread_t; typedef void * OSAL_event_t; diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_linux_types.h wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_linux_types.h --- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_linux_types.h 2010-06-07 19:20:48.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_linux_types.h 2010-10-04 18:40:31.000000000 -0400 @@ -105,7 +105,7 @@ typedef unsigned int DWORD; -typedef int INT_PTR; +typedef int * INT_PTR; typedef char INT8; diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_trace.c wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_trace.c --- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_trace.c 2010-06-07 19:20:48.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_trace.c 2010-10-04 18:40:31.000000000 -0400 @@ -173,7 +173,7 @@ } } // write into file - fprintf(log, ch); + fprintf(log, "%s", ch); // put extra to log next line to build //fprintf(log,"\n"); if (flush == 1) diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/wimaxcu/wimaxcu_scan_op.c wimax-1.5.1/InfraStack/OSDependent/Linux/wimaxcu/wimaxcu_scan_op.c --- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/wimaxcu/wimaxcu_scan_op.c 2010-06-07 19:20:48.000000000 -0400 +++ wimax-1.5.1/InfraStack/OSDependent/Linux/wimaxcu/wimaxcu_scan_op.c 2010-10-04 18:40:31.000000000 -0400 @@ -468,7 +468,7 @@ } else if (scan_mode == CMD_SCAN_ARG_WIDE) { // Get User Connect Mode - int userConnectMode; + WIMAX_API_CONNECTION_MODE userConnectMode; wmxStatus = GetConnectionMode(p_device_id, &userConnectMode); if (WIMAX_API_RET_SUCCESS != wmxStatus) { PrintWmxStatus(wmxStatus); @@ -904,4 +904,4 @@ } } -} \ No newline at end of file +}