home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c065 / 1.ddi / INCLUDE.ZIP / _PRINTF.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-07  |  2.6 KB  |  78 lines

  1. /*------------------------------------------------------------------------
  2.  * filename - _printf.h
  3.  *
  4.  *-----------------------------------------------------------------------*/
  5.  
  6. /*[]------------------------------------------------------------[]*/
  7. /*|                                                              |*/
  8. /*|     Turbo C Run Time Library - Version 3.0                   |*/
  9. /*|                                                              |*/
  10. /*|                                                              |*/
  11. /*|     Copyright (c) 1987, 1990 by Borland International        |*/
  12. /*|     All Rights Reserved.                                     |*/
  13. /*|                                                              |*/
  14. /*[]------------------------------------------------------------[]*/
  15.  
  16.  
  17. #ifndef __PRINTF_H
  18. #define __PRINTF_H
  19.  
  20. #if !defined(__STDARG_H)
  21. #include <stdarg.h>
  22. #endif
  23.  
  24. #define __XCVTDIG__  40   /* xcvt() maximum digits supported    */
  25. #define __XCVTMAX__  47   /* bytes for longest xcvt() string    */
  26. #define __LTOAMAX__  32   /* bytes for radix 2 longtoa() string */
  27. #define __CVTMAX__   48   /* MAX of the above, + 1 for \0       */
  28.  
  29. typedef unsigned pascal near putnF (const void *ptr, unsigned n, void *fp);
  30.  
  31. /*
  32.     Defining the symbol FLOATS_32_BIT enables recognition of
  33.     32 bit floats on the stack by using the 'h' size modifier.
  34.     YOU, must FORCE the float to be pushed as a 32 bit number
  35.     though!  The compiler normally widens floats to 64 bit doubles.
  36.  
  37.     example:
  38.             union {
  39.                 float f;
  40.                 long l
  41.                 } u;
  42.             printf("%hg\n", u.l);
  43.  
  44.     This feature can be DISABLED by default for strict ANSI compatability.
  45. */
  46. #define    FLOATS_32_BIT        1
  47.  
  48. /*
  49.     Floating point parameter types to formatting functions.
  50.     The numbers are the offset of the fraction in the data type.
  51. */
  52. #define    F_4byteFloat    2
  53. #define    F_8byteFloat    6
  54. #define    F_10byteFloat    8
  55.  
  56. /* These must NEVER be the same as an unnormalized 87' exponent! */
  57.  
  58. #define    NAN_number    32766    /* xcvt() -> as NAN exponent    */
  59. #define    INF_number    32767    /* xcvt() -> as INF exponent    */
  60.  
  61.  
  62. #ifdef __cplusplus
  63. extern "C" {
  64. #endif
  65. int pascal near __vprinter(putnF near *__putter, void *__outP, const char *__formatP, void _ss *__argP );
  66.  
  67. char *pascal near __longtoa(long __value, char *__S, int __radix, char __maybeSigned, char __hexStyle);
  68.  
  69. void pascal near __realcvt(void *__valueP, int __ndec, char *__strP, char __formCh, char __altFormat, int __type);
  70.  
  71. int pascal near __xcvt(void *__valP, int __digits, int *__signP, char *__strP, int __ftype);
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76.  
  77. #endif
  78.