00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00038 #ifndef __NUSMV_CORE_UTILS_UTILS_IO_H__
00039 #define __NUSMV_CORE_UTILS_UTILS_IO_H__
00040
00041 #include "nusmv/core/utils/utils.h"
00042 #include "nusmv/core/dd/dd.h"
00043 #include "nusmv/core/prop/Prop.h"
00044 #include "nusmv/core/node/printers/MasterPrinter.h"
00045 #include "nusmv/core/utils/error.h"
00046 #include <stdarg.h>
00047
00048
00049
00050
00051
00052 enum var_type {
00053 VAR_NONE = 0,
00054 VAR_INT = 1,
00055 VAR_CHAR = VAR_INT << 1,
00056 VAR_STRING = VAR_INT << 2,
00057 VAR_POINTER = VAR_INT << 3,
00058 VAR_DOUBLE = VAR_INT << 4
00059 };
00060
00061 enum var_modifier {
00062 MOD_NONE = VAR_INT << 6,
00063 MOD_SIZE_T = VAR_INT << 7,
00064 MOD_SHORT = VAR_INT << 8,
00065 MOD_SHORT_SHORT = VAR_INT << 9,
00066 MOD_LONG = VAR_INT << 10,
00067 MOD_LONG_LONG = VAR_INT << 11,
00068 MOD_LONG_DOUBLE = VAR_INT << 12
00069 };
00070
00083 int UtilsIO_get_param_len(const char* fmt,
00084 enum var_type* type,
00085 enum var_modifier* mod);
00086
00099 int UtilsIO_node_fprintf(const MasterPrinter_ptr printer,
00100 FILE* output, const char* fmt, ...);
00101
00114 int UtilsIO_node_vfprintf(const MasterPrinter_ptr printer,
00115 FILE* output, const char* fmt,
00116 va_list args);
00117
00130 int UtilsIO_node_vsnprintf(const MasterPrinter_ptr printer,
00131 char* output, size_t size,
00132 const char* fmt, va_list args);
00133
00146 int UtilsIO_node_snprintf(const MasterPrinter_ptr printer,
00147 char* output, size_t size,
00148 const char* fmt, ...);
00149
00150 #endif