Ignore:
Timestamp:
Jun 19, 2013 6:47:43 AM (11 years ago)
Author:
riza
Message:

Re #1680: Add initial support for Win64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/sock_bsd.c

    r4233 r4537  
    6161#ifdef SOL_IP 
    6262const pj_uint16_t PJ_SOL_IP     = SOL_IP; 
    63 #elif defined(PJ_WIN32) && PJ_WIN32 
     63#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64)  
    6464const pj_uint16_t PJ_SOL_IP     = IPPROTO_IP; 
    6565#else 
     
    7171#elif defined(IPPROTO_TCP) 
    7272const pj_uint16_t PJ_SOL_TCP    = IPPROTO_TCP; 
    73 #elif defined(PJ_WIN32) && PJ_WIN32 
     73#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) 
    7474const pj_uint16_t PJ_SOL_TCP    = IPPROTO_TCP; 
    7575#else 
     
    8181#elif defined(IPPROTO_UDP) 
    8282const pj_uint16_t PJ_SOL_UDP    = IPPROTO_UDP; 
    83 #elif defined(PJ_WIN32) && PJ_WIN32 
     83#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) 
    8484const pj_uint16_t PJ_SOL_UDP    = IPPROTO_UDP; 
    8585#else 
     
    8989#ifdef SOL_IPV6 
    9090const pj_uint16_t PJ_SOL_IPV6   = SOL_IPV6; 
    91 #elif defined(PJ_WIN32) && PJ_WIN32 
     91#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) 
    9292#   if defined(IPPROTO_IPV6) || (_WIN32_WINNT >= 0x0501) 
    9393        const pj_uint16_t PJ_SOL_IPV6   = IPPROTO_IPV6; 
     
    305305    return PJ_SUCCESS; 
    306306 
    307 #elif defined(PJ_WIN32) || defined(PJ_WIN32_WINCE) 
     307#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) 
    308308    /* 
    309309     * Implementation on Windows, using WSAStringToAddress(). 
     
    379379    return PJ_SUCCESS; 
    380380 
    381 #elif defined(PJ_WIN32) || defined(PJ_WIN32_WINCE) 
     381#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) 
    382382    /* 
    383383     * Implementation on Windows, using WSAAddressToString(). 
     
    462462} 
    463463 
    464 #if defined(PJ_WIN32) 
     464#if defined(PJ_WIN32) || defined(PJ_WIN64) 
    465465/* 
    466466 * Create new socket/endpoint for communication and returns a descriptor. 
     
    475475    /* Sanity checks. */ 
    476476    PJ_ASSERT_RETURN(sock!=NULL, PJ_EINVAL); 
    477     PJ_ASSERT_RETURN((unsigned)PJ_INVALID_SOCKET==INVALID_SOCKET,  
     477    PJ_ASSERT_RETURN((SOCKET)PJ_INVALID_SOCKET==INVALID_SOCKET,  
    478478                     (*sock=PJ_INVALID_SOCKET, PJ_EINVAL)); 
    479479 
     
    600600    PJ_CHECK_STACK(); 
    601601#if defined(PJ_WIN32) && PJ_WIN32!=0 || \ 
     602    defined(PJ_WIN64) && PJ_WIN64 != 0 || \ 
    602603    defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 
    603604    rc = closesocket(sock); 
     
    660661#endif 
    661662 
    662     *len = send(sock, (const char*)buf, *len, flags); 
     663    *len = send(sock, (const char*)buf, (int)(*len), flags); 
    663664 
    664665    if (*len < 0) 
     
    684685    CHECK_ADDR_LEN(to, tolen); 
    685686 
    686     *len = sendto(sock, (const char*)buf, *len, flags,  
     687    *len = sendto(sock, (const char*)buf, (int)(*len), flags,  
    687688                  (const struct sockaddr*)to, tolen); 
    688689 
     
    704705    PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); 
    705706 
    706     *len = recv(sock, (char*)buf, *len, flags); 
     707    *len = recv(sock, (char*)buf, (int)(*len), flags); 
    707708 
    708709    if (*len < 0)  
     
    725726    PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); 
    726727 
    727     *len = recvfrom(sock, (char*)buf, *len, flags,  
     728    *len = recvfrom(sock, (char*)buf, (int)(*len), flags,  
    728729                    (struct sockaddr*)from, (socklen_t*)fromlen); 
    729730 
Note: See TracChangeset for help on using the changeset viewer.