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
24
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
"""
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    AF_INET-specific stuff
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
"""
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
49
e2f79e68418a fix up circular cimports related to the sockaddr type, and touch up endpoint/getaddrinfo a bit
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     5
from qmsk.net.socket._address cimport sockaddr
e2f79e68418a fix up circular cimports related to the sockaddr type, and touch up endpoint/getaddrinfo a bit
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     6
cimport qmsk.net.socket.platform as platform
24
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
cdef class sockaddr_in (sockaddr) :
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
    """
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
        AF_INET struct sockaddr_in
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
        >>> sa = sockaddr_in("127.0.0.1", 80)
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
        >>> sa.addr
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        '127.0.0.1'
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
        >>> sa.port
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        80
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
        >>> str(sa)
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
        '127.0.0.1:80'
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
        >>> sockaddr_in('2001::5')
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
        Traceback (most recent call last):
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
          ...
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
        NameError: Invalid network address for specified address family: '2001::5'
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
    """
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    # the struct sockaddr_in
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
    cdef platform.sockaddr_in sockaddr
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
    cdef int _get_sockaddr (self, platform.sockaddr **sa_ptr, platform.socklen_t *sa_len) except -1
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
    cdef int _set_sockaddr (self, platform.sockaddr *sa, size_t sa_len) except -1
f18b5787c46c reorganize socket, adding af_inet/af_inet6 modules, and moving sctp in
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33