Annotation of researchv10no/cmd/cfront/libC/iostream/streamdefs.h, revision 1.1.1.1

1.1       root        1: /*ident        "@(#)ctrans:lib/stream/streamdefs.h     1.1.2.1" */
                      2: /**************************************************************************
                      3:                        Copyright (c) 1984 AT&T
                      4:                          All Rights Reserved   
                      5: 
                      6:        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
                      7:        
                      8:        The copyright notice above does not evidence any        
                      9:        actual or intended publication of such source code.
                     10: 
                     11: streamdefs.h:
                     12: 
                     13: *****************************************************************************/
                     14: 
                     15: 
                     16: // This file contains #defines for controlling conditional compilation 
                     17: // of the stream library
                     18: 
                     19: 
                     20: // The follwing functions adjust for machine dependencies
                     21: 
                     22: #define BREAKEVEN      10    
                     23:                        /* The approximate length of a string
                     24:                         * for which it is faster to do a strncpy
                     25:                         * than a char by char loop. If BREAKEVEN is 0 
                     26:                         * then strncpy is always better.  If it is <0 then 
                     27:                         * loop is always better, (e.g. if strncopy does
                     28:                         * a char by char copy anyway.)
                     29:                         */
                     30: 
                     31: #define SEEK_ARITH_OK  1
                     32:                        /* System supports arithmetic on stream positions.
                     33:                         * I.e. if file is at a position and we read or
                     34:                         * write n bytes we can find the new position
                     35:                         * by adding n to old position. (Providing
                     36:                         * O_APPEND isn't set in on open.)
                     37:                         */
                     38: 
                     39: static const int PTRBASE = ios::hex ;
                     40:                        /* base for output of pointers (void*) */
                     41: 
                     42: // There is one important machine dependent feature of this implementation
                     43: // It assumes that it can always create a pointer to the byte after
                     44: // a char array used as a buffer, and that pointer will be greater than
                     45: // any pointer into the array. 
                     46: // My reading of the ANSI standard is that this assumption is permissible,
                     47: // but I can imagine segmented architectures where it fails.
                     48: 
                     49: /* #define VSPRINTF vsprintf */
                     50: 
                     51:                        /* If defined, the name of a "vsprintf" function.
                     52:                         * If not defined, 
                     53:                         * various non-portable kludges are used in
                     54:                         * oldformat.c
                     55:                         */
                     56: 
                     57: static const int STREAMBUFSIZE = 1024 ;
                     58:                        // The default buffer size.
                     59: 
                     60: /*******
                     61:        #define O_CREAT 01000 
                     62:        #define O_TRUNC 02000 
                     63:        #define O_EXCL  04000
                     64:  *******/
                     65:                        /* Used in filebuf.c.  Define if your system
                     66:                         * needs it to have a value different from
                     67:                         * that indicated here, but doesn't
                     68:                         * define it in standard system headers
                     69:                         */

unix.superglobalmegacorp.com

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