Annotation of sbbs/include/mozilla/nspr/obsolete/probslet.h, revision 1.1.1.1

1.1       root        1: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
                      2: /* 
                      3:  * The contents of this file are subject to the Mozilla Public
                      4:  * License Version 1.1 (the "License"); you may not use this file
                      5:  * except in compliance with the License. You may obtain a copy of
                      6:  * the License at http://www.mozilla.org/MPL/
                      7:  * 
                      8:  * Software distributed under the License is distributed on an "AS
                      9:  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
                     10:  * implied. See the License for the specific language governing
                     11:  * rights and limitations under the License.
                     12:  * 
                     13:  * The Original Code is the Netscape Portable Runtime (NSPR).
                     14:  * 
                     15:  * The Initial Developer of the Original Code is Netscape
                     16:  * Communications Corporation.  Portions created by Netscape are 
                     17:  * Copyright (C) 1998-2000 Netscape Communications Corporation.  All
                     18:  * Rights Reserved.
                     19:  * 
                     20:  * Contributor(s):
                     21:  * 
                     22:  * Alternatively, the contents of this file may be used under the
                     23:  * terms of the GNU General Public License Version 2 or later (the
                     24:  * "GPL"), in which case the provisions of the GPL are applicable 
                     25:  * instead of those above.  If you wish to allow use of your 
                     26:  * version of this file only under the terms of the GPL and not to
                     27:  * allow others to use your version of this file under the MPL,
                     28:  * indicate your decision by deleting the provisions above and
                     29:  * replace them with the notice and other provisions required by
                     30:  * the GPL.  If you do not delete the provisions above, a recipient
                     31:  * may use your version of this file under either the MPL or the
                     32:  * GPL.
                     33:  */
                     34: 
                     35: /*
                     36: ** A collection of things thought to be obsolete
                     37: */
                     38: 
                     39: #if defined(PROBSLET_H)
                     40: #else
                     41: #define PROBSLET_H
                     42: 
                     43: #include "prio.h"
                     44: 
                     45: PR_BEGIN_EXTERN_C
                     46: 
                     47: /*
                     48: ** Yield the current thread.  The proper function to use in place of
                     49: ** PR_Yield() is PR_Sleep() with an argument of PR_INTERVAL_NO_WAIT.
                     50: */
                     51: NSPR_API(PRStatus) PR_Yield(void);
                     52: 
                     53: /************************************************************************/
                     54: /************* The following definitions are for select *****************/
                     55: /************************************************************************/
                     56: 
                     57: /*
                     58: ** The following is obsolete and will be deleted in the next release!
                     59: ** These are provided for compatibility, but are GUARANTEED to be slow.
                     60: **
                     61: ** Override PR_MAX_SELECT_DESC if you need more space in the select set.
                     62: */
                     63: #ifndef PR_MAX_SELECT_DESC
                     64: #define PR_MAX_SELECT_DESC 1024
                     65: #endif
                     66: typedef struct PR_fd_set {
                     67:     PRUint32      hsize;
                     68:     PRFileDesc   *harray[PR_MAX_SELECT_DESC];
                     69:     PRUint32      nsize;
                     70:     PRInt32       narray[PR_MAX_SELECT_DESC];
                     71: } PR_fd_set;
                     72: 
                     73: /*
                     74: *************************************************************************
                     75: ** FUNCTION:    PR_Select
                     76: ** DESCRIPTION:
                     77: **
                     78: ** The call returns as soon as I/O is ready on one or more of the underlying
                     79: ** file/socket descriptors or an exceptional condition is pending. A count of the 
                     80: ** number of ready descriptors is returned unless a timeout occurs in which case 
                     81: ** zero is returned.  On return, PR_Select replaces the given descriptor sets with 
                     82: ** subsets consisting of those descriptors that are ready for the requested condition.
                     83: ** The total number of ready descriptors in all the sets is the return value.
                     84: **
                     85: ** INPUTS:
                     86: **   PRInt32 num             
                     87: **       This argument is unused but is provided for select(unix) interface
                     88: **       compatability.  All input PR_fd_set arguments are self-describing
                     89: **       with its own maximum number of elements in the set.
                     90: **                               
                     91: **   PR_fd_set *readfds
                     92: **       A set describing the io descriptors for which ready for reading
                     93: **       condition is of interest.  
                     94: **                               
                     95: **   PR_fd_set *writefds
                     96: **       A set describing the io descriptors for which ready for writing
                     97: **       condition is of interest.  
                     98: **                               
                     99: **   PR_fd_set *exceptfds
                    100: **       A set describing the io descriptors for which exception pending
                    101: **       condition is of interest.  
                    102: **
                    103: **   Any of the above readfds, writefds or exceptfds may be given as NULL 
                    104: **   pointers if no descriptors are of interest for that particular condition.                          
                    105: **   
                    106: **   PRIntervalTime timeout  
                    107: **       Amount of time the call will block waiting for I/O to become ready. 
                    108: **       If this time expires without any I/O becoming ready, the result will
                    109: **       be zero.
                    110: **
                    111: ** OUTPUTS:    
                    112: **   PR_fd_set *readfds
                    113: **       A set describing the io descriptors which are ready for reading.
                    114: **                               
                    115: **   PR_fd_set *writefds
                    116: **       A set describing the io descriptors which are ready for writing.
                    117: **                               
                    118: **   PR_fd_set *exceptfds
                    119: **       A set describing the io descriptors which have pending exception.
                    120: **
                    121: ** RETURN:PRInt32
                    122: **   Number of io descriptors with asked for conditions or zero if the function
                    123: **   timed out or -1 on failure.  The reason for the failure is obtained by 
                    124: **   calling PR_GetError().
                    125: ** XXX can we implement this on windoze and mac?
                    126: **************************************************************************
                    127: */
                    128: NSPR_API(PRInt32) PR_Select(
                    129:     PRInt32 num, PR_fd_set *readfds, PR_fd_set *writefds,
                    130:     PR_fd_set *exceptfds, PRIntervalTime timeout);
                    131: 
                    132: /* 
                    133: ** The following are not thread safe for two threads operating on them at the
                    134: ** same time.
                    135: **
                    136: ** The following routines are provided for manipulating io descriptor sets.
                    137: ** PR_FD_ZERO(&fdset) initializes a descriptor set fdset to the null set.
                    138: ** PR_FD_SET(fd, &fdset) includes a particular file descriptor fd in fdset.
                    139: ** PR_FD_CLR(fd, &fdset) removes a file descriptor fd from fdset.  
                    140: ** PR_FD_ISSET(fd, &fdset) is nonzero if file descriptor fd is a member of 
                    141: ** fdset, zero otherwise.
                    142: **
                    143: ** PR_FD_NSET(osfd, &fdset) includes a particular native file descriptor osfd
                    144: ** in fdset.
                    145: ** PR_FD_NCLR(osfd, &fdset) removes a native file descriptor osfd from fdset.  
                    146: ** PR_FD_NISSET(osfd, &fdset) is nonzero if native file descriptor osfd is a member of 
                    147: ** fdset, zero otherwise.
                    148: */
                    149: 
                    150: NSPR_API(void)        PR_FD_ZERO(PR_fd_set *set);
                    151: NSPR_API(void)        PR_FD_SET(PRFileDesc *fd, PR_fd_set *set);
                    152: NSPR_API(void)        PR_FD_CLR(PRFileDesc *fd, PR_fd_set *set);
                    153: NSPR_API(PRInt32)     PR_FD_ISSET(PRFileDesc *fd, PR_fd_set *set);
                    154: NSPR_API(void)        PR_FD_NSET(PRInt32 osfd, PR_fd_set *set);
                    155: NSPR_API(void)        PR_FD_NCLR(PRInt32 osfd, PR_fd_set *set);
                    156: NSPR_API(PRInt32)     PR_FD_NISSET(PRInt32 osfd, PR_fd_set *set);
                    157: 
                    158: #ifndef NO_NSPR_10_SUPPORT
                    159: #ifdef XP_MAC
                    160: #include <stat.h>
                    161: #else
                    162: #include <sys/stat.h>
                    163: #endif
                    164: 
                    165: NSPR_API(PRInt32) PR_Stat(const char *path, struct stat *buf);
                    166: #endif /* NO_NSPR_10_SUPPORT */
                    167: 
                    168: PR_END_EXTERN_C
                    169: 
                    170: #endif /* defined(PROBSLET_H) */
                    171: 
                    172: /* probslet.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.