OLD | NEW |
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 /* This Source Code Form is subject to the terms of the Mozilla Public | 2 /* This Source Code Form is subject to the terms of the Mozilla Public |
3 * License, v. 2.0. If a copy of the MPL was not distributed with this | 3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | 5 |
6 /* | 6 /* |
7 * File: prio.h | 7 * File: prio.h |
8 * | 8 * |
9 * Description: PR i/o related stuff, such as file system access, file | 9 * Description: PR i/o related stuff, such as file system access, file |
10 * i/o, socket i/o, etc. | 10 * i/o, socket i/o, etc. |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 | 204 |
205 PR_SockOpt_AddMember, /* add an IP group membership */ | 205 PR_SockOpt_AddMember, /* add an IP group membership */ |
206 PR_SockOpt_DropMember, /* drop an IP group membership */ | 206 PR_SockOpt_DropMember, /* drop an IP group membership */ |
207 PR_SockOpt_McastInterface, /* multicast interface address */ | 207 PR_SockOpt_McastInterface, /* multicast interface address */ |
208 PR_SockOpt_McastTimeToLive, /* multicast timetolive */ | 208 PR_SockOpt_McastTimeToLive, /* multicast timetolive */ |
209 PR_SockOpt_McastLoopback, /* multicast loopback */ | 209 PR_SockOpt_McastLoopback, /* multicast loopback */ |
210 | 210 |
211 PR_SockOpt_NoDelay, /* don't delay send to coalesce packets */ | 211 PR_SockOpt_NoDelay, /* don't delay send to coalesce packets */ |
212 PR_SockOpt_MaxSegment, /* maximum segment size */ | 212 PR_SockOpt_MaxSegment, /* maximum segment size */ |
213 PR_SockOpt_Broadcast, /* enable broadcast */ | 213 PR_SockOpt_Broadcast, /* enable broadcast */ |
| 214 PR_SockOpt_Reuseport, /* allow local address & port reuse on |
| 215 * platforms that support it */ |
214 PR_SockOpt_Last | 216 PR_SockOpt_Last |
215 } PRSockOption; | 217 } PRSockOption; |
216 | 218 |
217 typedef struct PRLinger { | 219 typedef struct PRLinger { |
218 PRBool polarity; /* Polarity of the option's setting
*/ | 220 PRBool polarity; /* Polarity of the option's setting
*/ |
219 PRIntervalTime linger; /* Time to linger before closing */ | 221 PRIntervalTime linger; /* Time to linger before closing */ |
220 } PRLinger; | 222 } PRLinger; |
221 | 223 |
222 typedef struct PRMcastRequest { | 224 typedef struct PRMcastRequest { |
223 PRNetAddr mcaddr; /* IP multicast address of group
*/ | 225 PRNetAddr mcaddr; /* IP multicast address of group
*/ |
224 PRNetAddr ifaddr; /* local IP address of interface
*/ | 226 PRNetAddr ifaddr; /* local IP address of interface
*/ |
225 } PRMcastRequest; | 227 } PRMcastRequest; |
226 | 228 |
227 typedef struct PRSocketOptionData | 229 typedef struct PRSocketOptionData |
228 { | 230 { |
229 PRSockOption option; | 231 PRSockOption option; |
230 union | 232 union |
231 { | 233 { |
232 PRUintn ip_ttl; /* IP time to live */ | 234 PRUintn ip_ttl; /* IP time to live */ |
233 PRUintn mcast_ttl; /* IP multicast time to live */ | 235 PRUintn mcast_ttl; /* IP multicast time to live */ |
234 PRUintn tos; /* IP type of service and precedence */ | 236 PRUintn tos; /* IP type of service and precedence */ |
235 PRBool non_blocking; /* Non-blocking (network) I/O */ | 237 PRBool non_blocking; /* Non-blocking (network) I/O */ |
236 PRBool reuse_addr; /* Allow local address reuse */ | 238 PRBool reuse_addr; /* Allow local address reuse */ |
| 239 PRBool reuse_port; /* Allow local address & port reuse on |
| 240 * platforms that support it */ |
237 PRBool keep_alive; /* Keep connections alive */ | 241 PRBool keep_alive; /* Keep connections alive */ |
238 PRBool mcast_loopback; /* IP multicast loopback */ | 242 PRBool mcast_loopback; /* IP multicast loopback */ |
239 PRBool no_delay; /* Don't delay send to coalesce packets */ | 243 PRBool no_delay; /* Don't delay send to coalesce packets */ |
240 PRBool broadcast; /* Enable broadcast */ | 244 PRBool broadcast; /* Enable broadcast */ |
241 PRSize max_segment; /* Maximum segment size */ | 245 PRSize max_segment; /* Maximum segment size */ |
242 PRSize recv_buffer_size; /* Receive buffer size */ | 246 PRSize recv_buffer_size; /* Receive buffer size */ |
243 PRSize send_buffer_size; /* Send buffer size */ | 247 PRSize send_buffer_size; /* Send buffer size */ |
244 PRLinger linger; /* Time to linger on close if data present *
/ | 248 PRLinger linger; /* Time to linger on close if data present *
/ |
245 PRMcastRequest add_member; /* add an IP group membership */ | 249 PRMcastRequest add_member; /* add an IP group membership */ |
246 PRMcastRequest drop_member; /* Drop an IP group membership */ | 250 PRMcastRequest drop_member; /* Drop an IP group membership */ |
(...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2009 | 2013 |
2010 NSPR_API(PRStatus) PR_DestroyPollableEvent(PRFileDesc *event); | 2014 NSPR_API(PRStatus) PR_DestroyPollableEvent(PRFileDesc *event); |
2011 | 2015 |
2012 NSPR_API(PRStatus) PR_SetPollableEvent(PRFileDesc *event); | 2016 NSPR_API(PRStatus) PR_SetPollableEvent(PRFileDesc *event); |
2013 | 2017 |
2014 NSPR_API(PRStatus) PR_WaitForPollableEvent(PRFileDesc *event); | 2018 NSPR_API(PRStatus) PR_WaitForPollableEvent(PRFileDesc *event); |
2015 | 2019 |
2016 PR_END_EXTERN_C | 2020 PR_END_EXTERN_C |
2017 | 2021 |
2018 #endif /* prio_h___ */ | 2022 #endif /* prio_h___ */ |
OLD | NEW |