qmsk/net/socket/af_inet.pxd
author Tero Marttila <terom@fixme.fi>
Fri, 25 Sep 2009 21:34:04 +0300
changeset 49 e2f79e68418a
parent 24 f18b5787c46c
permissions -rw-r--r--
fix up circular cimports related to the sockaddr type, and touch up endpoint/getaddrinfo a bit
"""
    AF_INET-specific stuff
"""

from qmsk.net.socket._address cimport sockaddr
cimport qmsk.net.socket.platform as platform

cdef class sockaddr_in (sockaddr) :
    """
        AF_INET struct sockaddr_in

        >>> sa = sockaddr_in("127.0.0.1", 80)
        >>> sa.addr
        '127.0.0.1'
        >>> sa.port
        80
        >>> str(sa)
        '127.0.0.1:80'

        >>> sockaddr_in('2001::5')
        Traceback (most recent call last):
          ...
        NameError: Invalid network address for specified address family: '2001::5'

    """

    # the struct sockaddr_in
    cdef platform.sockaddr_in sockaddr


    cdef int _get_sockaddr (self, platform.sockaddr **sa_ptr, platform.socklen_t *sa_len) except -1
    cdef int _set_sockaddr (self, platform.sockaddr *sa, size_t sa_len) except -1