ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

triop.h
Go to the documentation of this file.
00001 /*************************************************************************
00002  *
00003  * $Id$
00004  *
00005  * Copyright (C) 2000 Bjorn Reese and Daniel Stenberg.
00006  *
00007  * Permission to use, copy, modify, and distribute this software for any
00008  * purpose with or without fee is hereby granted, provided that the above
00009  * copyright notice and this permission notice appear in all copies.
00010  *
00011  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
00012  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
00013  * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
00014  * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
00015  *
00016  ************************************************************************
00017  *
00018  * Private functions, types, etc. used for callback functions.
00019  *
00020  * The ref pointer is an opaque type and should remain as such.
00021  * Private data must only be accessible through the getter and
00022  * setter functions.
00023  *
00024  ************************************************************************/
00025 
00026 #ifndef TRIO_TRIOP_H
00027 #define TRIO_TRIOP_H
00028 
00029 #include "triodef.h"
00030 
00031 #include <stdlib.h>
00032 #if defined(TRIO_COMPILER_ANCIENT)
00033 # include <varargs.h>
00034 #else
00035 # include <stdarg.h>
00036 #endif
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 #ifndef TRIO_C99
00043 # define TRIO_C99 1
00044 #endif
00045 #ifndef TRIO_BSD
00046 # define TRIO_BSD 1
00047 #endif
00048 #ifndef TRIO_GNU
00049 # define TRIO_GNU 1
00050 #endif
00051 #ifndef TRIO_MISC
00052 # define TRIO_MISC 1
00053 #endif
00054 #ifndef TRIO_UNIX98
00055 # define TRIO_UNIX98 1
00056 #endif
00057 #ifndef TRIO_MICROSOFT
00058 # define TRIO_MICROSOFT 1
00059 #endif
00060 #ifndef TRIO_EXTENSION
00061 # define TRIO_EXTENSION 1
00062 #endif
00063 #ifndef TRIO_WIDECHAR /* Does not work yet. Do not enable */
00064 # define TRIO_WIDECHAR 0
00065 #endif
00066 #ifndef TRIO_ERRORS
00067 # define TRIO_ERRORS 1
00068 #endif
00069 
00070 #ifndef TRIO_MALLOC
00071 # define TRIO_MALLOC(n) malloc(n)
00072 #endif
00073 #ifndef TRIO_REALLOC
00074 # define TRIO_REALLOC(x,n) realloc((x),(n))
00075 #endif
00076 #ifndef TRIO_FREE
00077 # define TRIO_FREE(x) free(x)
00078 #endif
00079 
00080 
00081 /*************************************************************************
00082  * User-defined specifiers
00083  */
00084 
00085 typedef int (*trio_callback_t) TRIO_PROTO((trio_pointer_t));
00086 
00087 trio_pointer_t trio_register TRIO_PROTO((trio_callback_t callback, const char *name));
00088 void trio_unregister TRIO_PROTO((trio_pointer_t handle));
00089 
00090 TRIO_CONST char *trio_get_format TRIO_PROTO((trio_pointer_t ref));
00091 trio_pointer_t trio_get_argument TRIO_PROTO((trio_pointer_t ref));
00092 
00093 /* Modifiers */
00094 int  trio_get_width TRIO_PROTO((trio_pointer_t ref));
00095 void trio_set_width TRIO_PROTO((trio_pointer_t ref, int width));
00096 int  trio_get_precision TRIO_PROTO((trio_pointer_t ref));
00097 void trio_set_precision TRIO_PROTO((trio_pointer_t ref, int precision));
00098 int  trio_get_base TRIO_PROTO((trio_pointer_t ref));
00099 void trio_set_base TRIO_PROTO((trio_pointer_t ref, int base));
00100 int  trio_get_padding TRIO_PROTO((trio_pointer_t ref));
00101 void trio_set_padding TRIO_PROTO((trio_pointer_t ref, int is_padding));
00102 int  trio_get_short TRIO_PROTO((trio_pointer_t ref)); /* h */
00103 void trio_set_shortshort TRIO_PROTO((trio_pointer_t ref, int is_shortshort));
00104 int  trio_get_shortshort TRIO_PROTO((trio_pointer_t ref)); /* hh */
00105 void trio_set_short TRIO_PROTO((trio_pointer_t ref, int is_short));
00106 int  trio_get_long TRIO_PROTO((trio_pointer_t ref)); /* l */
00107 void trio_set_long TRIO_PROTO((trio_pointer_t ref, int is_long));
00108 int  trio_get_longlong TRIO_PROTO((trio_pointer_t ref)); /* ll */
00109 void trio_set_longlong TRIO_PROTO((trio_pointer_t ref, int is_longlong));
00110 int  trio_get_longdouble TRIO_PROTO((trio_pointer_t ref)); /* L */
00111 void trio_set_longdouble TRIO_PROTO((trio_pointer_t ref, int is_longdouble));
00112 int  trio_get_alternative TRIO_PROTO((trio_pointer_t ref)); /* # */
00113 void trio_set_alternative TRIO_PROTO((trio_pointer_t ref, int is_alternative));
00114 int  trio_get_alignment TRIO_PROTO((trio_pointer_t ref)); /* - */
00115 void trio_set_alignment TRIO_PROTO((trio_pointer_t ref, int is_leftaligned));
00116 int  trio_get_spacing TRIO_PROTO((trio_pointer_t ref)); /*  TRIO_PROTO((space) */
00117 void trio_set_spacing TRIO_PROTO((trio_pointer_t ref, int is_space));
00118 int  trio_get_sign TRIO_PROTO((trio_pointer_t ref)); /* + */
00119 void trio_set_sign TRIO_PROTO((trio_pointer_t ref, int is_showsign));
00120 int  trio_get_quote TRIO_PROTO((trio_pointer_t ref)); /* ' */
00121 void trio_set_quote TRIO_PROTO((trio_pointer_t ref, int is_quote));
00122 int  trio_get_upper TRIO_PROTO((trio_pointer_t ref));
00123 void trio_set_upper TRIO_PROTO((trio_pointer_t ref, int is_upper));
00124 #if TRIO_C99
00125 int  trio_get_largest TRIO_PROTO((trio_pointer_t ref)); /* j */
00126 void trio_set_largest TRIO_PROTO((trio_pointer_t ref, int is_largest));
00127 int  trio_get_ptrdiff TRIO_PROTO((trio_pointer_t ref)); /* t */
00128 void trio_set_ptrdiff TRIO_PROTO((trio_pointer_t ref, int is_ptrdiff));
00129 int  trio_get_size TRIO_PROTO((trio_pointer_t ref)); /* z / Z */
00130 void trio_set_size TRIO_PROTO((trio_pointer_t ref, int is_size));
00131 #endif
00132 
00133 /* Printing */
00134 int trio_print_ref TRIO_PROTO((trio_pointer_t ref, const char *format, ...));
00135 int trio_vprint_ref TRIO_PROTO((trio_pointer_t ref, const char *format, va_list args));
00136 int trio_printv_ref TRIO_PROTO((trio_pointer_t ref, const char *format, trio_pointer_t *args));
00137 
00138 void trio_print_int TRIO_PROTO((trio_pointer_t ref, int number));
00139 void trio_print_uint TRIO_PROTO((trio_pointer_t ref, unsigned int number));
00140 /*  void trio_print_long TRIO_PROTO((trio_pointer_t ref, long number)); */
00141 /*  void trio_print_ulong TRIO_PROTO((trio_pointer_t ref, unsigned long number)); */
00142 void trio_print_double TRIO_PROTO((trio_pointer_t ref, double number));
00143 void trio_print_string TRIO_PROTO((trio_pointer_t ref, char *string));
00144 void trio_print_pointer TRIO_PROTO((trio_pointer_t ref, trio_pointer_t pointer));
00145 
00146 #ifdef __cplusplus
00147 } /* extern "C" */
00148 #endif
00149 
00150 #endif /* TRIO_TRIOP_H */

Generated on Sun May 27 2012 04:34:44 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.