File: socketcall_constants.py

package info (click to toggle)
python-ptrace 0.9.9-0.3
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 808 kB
  • sloc: python: 10,167; ansic: 263; makefile: 164
file content (94 lines) | stat: -rw-r--r-- 1,704 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import socket

SOCKETCALL = {
    1: "socket",
    2: "bind",
    3: "connect",
    4: "listen",
    5: "accept",
    6: "getsockname",
    7: "getpeername",
    8: "socketpair",
    9: "send",
    10: "recv",
    11: "sendto",
    12: "recvfrom",
    13: "shutdown",
    14: "setsockopt",
    15: "getsockopt",
    16: "sendmsg",
    17: "recvmsg",
}

SOCKET_FAMILY = {
    0: "AF_UNSPEC",
    1: "AF_FILE",
    2: "AF_INET",
    3: "AF_AX25",
    4: "AF_IPX",
    5: "AF_APPLETALK",
    6: "AF_NETROM",
    7: "AF_BRIDGE",
    8: "AF_ATMPVC",
    9: "AF_X25",
    10: "AF_INET6",
    11: "AF_ROSE",
    12: "AF_DECnet",
    13: "AF_NETBEUI",
    14: "AF_SECURITY",
    15: "AF_KEY",
    16: "AF_NETLINK",
    17: "AF_PACKET",
    18: "AF_ASH",
    19: "AF_ECONET",
    20: "AF_ATMSVC",
    22: "AF_SNA",
    23: "AF_IRDA",
    24: "AF_PPPOX",
    25: "AF_WANPIPE",
    31: "AF_BLUETOOTH",
}

SOCKET_TYPE = {
    1: "SOCK_STREAM",
    2: "SOCK_DGRAM",
    3: "SOCK_RAW",
    4: "SOCK_RDM",
    5: "SOCK_SEQPACKET",
    10: "SOCK_PACKET",
}


def formatSocketType(argument):
    value = argument.value
    text = []
    if hasattr(socket, 'SOCK_CLOEXEC'):
        cloexec = value & socket.SOCK_CLOEXEC
        value &= ~socket.SOCK_CLOEXEC
    else:
        cloexec = False
    text = SOCKET_TYPE.get(value, str(value))
    if cloexec:
        text += '|SOCK_CLOEXEC'
    return text


SOCKET_PROTOCOL = {
    1: "IPPROTO_ICMP",
    58: "IPPROTO_ICMPV6",
}

SETSOCKOPT_LEVEL = {
    0: "SOL_IP",
    1: "SOL_SOCKET",
}

SETSOCKOPT_OPTNAME = {
    # level 0 (SOL_IP)
    1: "IP_TOS",
    # level 1 (SOL_SOCKET)
    2: "SO_REUSEADDR",
    9: "SO_KEEPALIVE",
    20: "SO_RCVTIMEO",
    21: "SO_SNDTIMEO",
}