summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/libc/src/bstroptsh.inc
blob: 47a81470663bf58ff57c8f1edeba37a03cf30560 (plain)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

const
   __SID = ord('S') shl 8;
   I_NREAD = __SID or 1;
   I_PUSH = __SID or 2;
   I_POP = __SID or 3;
   I_LOOK = __SID or 4;
   I_FLUSH = __SID or 5;
   I_SRDOPT = __SID or 6;
   I_GRDOPT = __SID or 7;
   I_STR = __SID or 8;
   I_SETSIG = __SID or 9;
   I_GETSIG = __SID or 10;
   I_FIND = __SID or 11;
   I_LINK = __SID or 12;
   I_UNLINK = __SID or 13;
   I_PEEK = __SID or 15;
   I_FDINSERT = __SID or 16;
   I_SENDFD = __SID or 17;
   I_RECVFD = __SID or 14;
   I_SWROPT = __SID or 19;
   I_GWROPT = __SID or 20;
   I_LIST = __SID or 21;
   I_PLINK = __SID or 22;
   I_PUNLINK = __SID or 23;
   I_FLUSHBAND = __SID or 28;
   I_CKBAND = __SID or 29;
   I_GETBAND = __SID or 30;
   I_ATMARK = __SID or 31;
   I_SETCLTIME = __SID or 32;
   I_GETCLTIME = __SID or 33;
   I_CANPUT = __SID or 34;
   FMNAMESZ = 8;
   FLUSHR = $01;
   FLUSHW = $02;
   FLUSHRW = $03;

   FLUSHBAND = $04;

   S_INPUT = $0001;
   S_HIPRI = $0002;
   S_OUTPUT = $0004;
   S_MSG = $0008;
   S_ERROR = $0010;
   S_HANGUP = $0020;
   S_RDNORM = $0040;
   S_WRNORM = S_OUTPUT;
   S_RDBAND = $0080;
   S_WRBAND = $0100;
   S_BANDURG = $0200;
   RS_HIPRI = $01;
   RNORM = $0000;
   RMSGD = $0001;
   RMSGN = $0002;
   RPROTDAT = $0004;
   RPROTDIS = $0008;
   RPROTNORM = $0010;

   RPROTMASK = $001C;
   SNDZERO = $001;
   SNDPIPE = $002;

   ANYMARK = $01;
   LASTMARK = $02;

   MUXID_ALL = -(1);

   MSG_HIPRI = $01;
   MSG_ANY = $02;
   MSG_BAND = $04;
   MORECTL = 1;
   MOREDATA = 2;

type
   Pbandinfo = ^bandinfo;
   bandinfo = record
        bi_pri : byte;
        bi_flag : longint;
     end;

   Pstrbuf = ^strbuf;
   strbuf = record
        maxlen : longint;
        len : longint;
        buf : Pchar;
     end;

   t_uscalar_t = __t_uscalar_t; // moved here from stropts.h

   Pstrpeek = ^strpeek;
   strpeek = record
        ctlbuf : strbuf;
        databuf : strbuf;
        flags : t_uscalar_t;
     end;

   Pstrfdinsert = ^strfdinsert;
   strfdinsert = record
        ctlbuf : strbuf;
        databuf : strbuf;
        flags : t_uscalar_t;
        fildes : longint;
        offset : longint;
     end;

   Pstrioctl = ^strioctl;
   strioctl = record
        ic_cmd : longint;
        ic_timout : longint;
        ic_len : longint;
        ic_dp : Pchar;
     end;

   Pstrrecvfd = ^strrecvfd;
   strrecvfd = record
        fd : longint;
        uid : uid_t;
        gid : gid_t;
        __fill : array[0..7] of char;
     end;

   Pstr_mlist = ^str_mlist;
   str_mlist = record
        l_name : array[0..(FMNAMESZ + 1)-1] of char;
     end;

   Pstr_list = ^str_list;
   str_list = record
        sl_nmods : longint;
        sl_modlist : Pstr_mlist;
     end;

{ ---------------------------------------------------------------------
    Borland compatibility types
  ---------------------------------------------------------------------}

Type
  Tstrbuf = strbuf;