Ignore:
Timestamp:
Oct 19, 2008, 11:25:55 AM (16 years ago)
Author:
OverTaker
Message:

IPHostEntry,Dnsクラスを半分実装。getaddrinfoがXPSP1以降にしかないので、gethostbyname版の実装もあとでします。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/src/Classes/System/Net/IPAddress.ab

    r648 r649  
    4747    @note  このコンストラクタはライブラリ内のみで使用する目的で作られています。
    4848    */
    49     Sub IPAddress(address As SocketAddress)
    50         family = address.AddressFamily
     49    Sub IPAddress(addr As *sockaddr)
     50        family = addr.sa_family
    5151        Select Case family
    5252            Case AF_INET
    53                 Dim addr4 = address.Items As *sockaddr_in
     53                Dim addr4 = addr As *sockaddr_in
    5454                size = SizeOf(in_addr)
    5555                item = malloc(size)
    5656                memcpy(item, VarPtr(addr4->sin_addr.s_addr), size)
    5757            Case AF_INET6
    58                 Dim addr6 = address.Items As *sockaddr_in6
     58                Dim addr6 = addr As *sockaddr_in6
    5959                size = SizeOf(in6_addr)
    6060                item = malloc(size)
     
    6363                Throw New NotSupportedException("IPAddress: Not Supported AddressFamily.")
    6464        End Select
     65    End Sub
     66
     67    /*!
     68    @brief コンストラクタ
     69    @param IPアドレスを表したバイト列
     70    @param IPアドレスの長さ
     71    @note  このコンストラクタはライブラリ内のみで使用する目的で作られています。
     72    */
     73    Sub IPAddress(af As DWord, address As *Byte, len As Long)
     74        family = af
     75        size = len
     76        item = malloc(size)
     77        memcpy(item, address, size)
    6578    End Sub
    6679
     
    213226    */
    214227    Static Function Any() As IPAddress
    215         Return New IPAddress(0)
     228        Return New IPAddress(0 As DWord)
    216229    End Function
    217230
Note: See TracChangeset for help on using the changeset viewer.