-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtypes.EXP
86 lines (74 loc) · 1.95 KB
/
types.EXP
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
(*
BSD Socket API for IEC 61131-3 Structured Text
Copyright (c) X-Pie Software GmbH
Written by VB.
*)
TYPE
SOCK_DOMAIN: (AF_UNSPEC, AF_INET) := AF_UNSPEC;
SOCK_TYPE: (SOCK_STREAM);
PROTOCOL: (TCP);
SOCKADDR: STRUCT
addr: DINT := -1;
port: UINT := 0;
END_STRUCT;
CONNECT_STATE: (
NOT_CONNECTED,
BOUND,
LISTENING,
CONNECTED
) := NOT_CONNECTED;
PAL_STATE: (
PAL_NULL,
PAL_BIND,
PAL_LISTEN,
PAL_ACCEPT,
PAL_CONNECT,
PAL_RECV,
PAL_SEND,
PAL_READY,
PAL_CLOSE
) := PAL_NULL;
SOCK_FD: STRUCT
domain: SOCK_DOMAIN;
stype: SOCK_TYPE;
proto: PROTOCOL;
s_addr: SOCKADDR;
d_addr: SOCKADDR;
state: CONNECT_STATE;
END_STRUCT;
POLLFD: STRUCT
fd: INT;
events: INT;
revents: INT;
END_STRUCT;
NFDS_T: INT;
POLL_EVENT: (
POLLERR,
POLLHUP,
POLLIN,
POLLNVAL,
POLLOUT
);
ERR_TYPE: (
EOK,
EINTR,
EMFILE,
EBADF,
EAFNOSUPPORT,
ECONNREFUSED,
EHOSTUNREACH,
EOPNOTSUPP,
EINVAL,
EISCONN,
EDESTADDRREQ
) := EINTR; (* by default everything is asynch *)
IFACE_PAL_API: STRUCT
fd: INT;
addr: SOCKADDR;
backlog: INT;
buffer: UDINT;
length: UDINT;
flags: INT;
state: PAL_STATE;
END_STRUCT;
END_TYPE