⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rcs_print.hh

📁 Source code for an Numeric Cmputer
💻 HH
字号:
/********************************************************************* Description: rcs_print.hh**   Derived from a work by Fred Proctor & Will Shackleford** Author:* License: LGPL Version 2* System: Linux*    * Copyright (c) 2004 All rights reserved.** Last change: * $Revision: 1.5 $* $Author: paul_c $* $Date: 2005/05/23 16:34:34 $********************************************************************/#ifndef RCS_PRNT_HH#define RCS_PRNT_HH#ifdef __cplusplusextern "C" {#endif#include <stdarg.h>		/* va_list */#ifdef __cplusplus}#endif#ifdef __cplusplus#include "linklist.hh"		/* LinkedList */extern LinkedList *get_rcs_print_list();  /* Returns the address of the linked list where messages may have been     stored. */extern void set_rcs_print_list_sizing_mode(int, LIST_SIZING_MODE);  /* The print list will have a default maximum size of 256 and it will     delete nodes from the head of the list to make room for new nodes. To     change these settings it is preferable to use this function rather than     getting the print list and using RCS_LINKED_LIST::set_list_sizing_mode()      since it works regardless of whether the print list has been initialized      yet. */#endif#ifdef __cplusplusextern "C" {#endif    extern void clean_print_list(void);    /* Deletes the linked list where messages may have been stored. */    extern void output_print_list(int output_func(char *));    extern int count_characters_in_print_list(void);    extern int count_lines_in_print_list(void);    extern void convert_print_list_to_lines(void);    extern void update_lines_table(void);    extern int rcs_vprint(char *_fmt, va_list va_args, int save_string);    /* Prints a message using the _fmt format string and the _va_args using       the vprintf conventions. */    extern int rcs_print(char *_fmt, ...);    /*        Prints a message using the _fmt format string and optional additional       arguments using the printf conventions. */    extern int rcs_print_debug(long, char *_fmt, ...);    /*        Prints a message using the _fmt format string and optional additional       arguments using the printf conventions if the corresponding flag to       _flag_to_check is set. (See set_rcs_print_flag().) */#ifdef DO_NOT_USE_RCS_PRINT_ERROR_NEW    extern int rcs_print_error(char *_fmt, ...);#else    extern int set_print_rcs_error_info(const char *file, int line);    extern int print_rcs_error_new(char *_fmt, ...);#define rcs_print_error set_print_rcs_error_info( __FILE__, __LINE__); print_rcs_error_new#endif    extern void set_rcs_print_flag(long flags_to_set);    /* An internal 32 bit integer contains a set of flags that are checked       whenever an rcs_print_debug or rcs_print_error occurs to determine if       the message should be printed or not. Programmers can define their own        flags in the most significant byte or turn on or off several NODE or       CMS/NML debug messages.       See the Print MODE flags defined below for messages that can be turned        on or off. */    extern void clear_rcs_print_flag(long flags_to_set);    /* Clears a flag set with set_rcs_print_flag. */    extern char *strip_control_characters(char *_dest, char *_src);    /* Removes new lines, carriage returns and tabs from the _src string and       stores the result in the _dest string if the _dest pointer does not       equal NULL. If the _dest pointer equals NULL the new string is stored       in an internal array.       Returns the dest pointer or the address of the internal array where       the new string was stored. */    extern int separate_words(char **_dest, int _max, char *_src);    extern int rcs_puts(char *);    /* Prints the string _str and adds a new line character at the end       following the puts convention. */    extern int rcs_fputs(char *);    extern char **get_rcs_lines_table(void);    extern int get_rcs_print_list_size(void);    typedef void (*RCS_PRINT_NOTIFY_FUNC_PTR) (void);    extern void set_rcs_print_notify(RCS_PRINT_NOTIFY_FUNC_PTR);    extern int set_rcs_print_file(char *_file_name);    extern void close_rcs_printing(void);#ifdef __cplusplus}#endif/* Print MODE flags. */#define PRINT_RCS_ERRORS                0x00000001	/* 1 */#define PRINT_NODE_CONSTRUCTORS         0x00000002	/* 2 */#define PRINT_NODE_DESTRUCTORS          0x00000004	/* 4 */#define PRINT_CMS_CONSTRUCTORS          0x00000008	/* 8 */#define PRINT_CMS_DESTRUCTORS           0x00000010	/* 16 */#define PRINT_NML_CONSTRUCTORS          0x00000020	/* 32 */#define PRINT_NML_DESTRUCTORS           0x00000040	/* 64 */#define PRINT_COMMANDS_RECIEVED         0x00000100	/* 256 */#define PRINT_COMMANDS_SENT             0x00000200	/* 512 */#define PRINT_STATUS_RECIEVED           0x00000400	/* 1024 */#define PRINT_STATUS_SENT               0x00000800	/* 2048 */#define PRINT_NODE_CYCLES               0x00001000	/* 4096 */#define PRINT_NODE_MISSED_CYCLES        0x00002000	/* 8192 */#define PRINT_NODE_CYCLE_TIMES          0x00004000	/* 16384 */#define PRINT_NODE_PROCESS_TIMES        0x00008000	/* 32768 */#define PRINT_NEW_WM                    0x00010000	/* 65536 */#define PRINT_NODE_ABORT                0x00020000	/* 131072 */#define PRINT_CMS_CONFIG_INFO           0x00040000	/* 262144 */#define PRINT_SOCKET_READ_SIZE          0x00080000	/* 524288 */#define PRINT_SOCKET_WRITE_SIZE         0x00100000	/* 1048576 */#define PRINT_INTERFACE_LOADING         0x00200000	/* 2097152 */#define PRINT_RPC_SERVER_CALL           0x00400000	/* 4194304 */#define PRINT_SEMAPHORE_ACTIVITY        0x00800000	/* 8388608 */#define PRINT_SOCKET_CONNECT            0x01000000	/* 16777216 */#define PRINT_SERVER_THREAD_ACTIVITY    0x02000000	// 33554432#define PRINT_SERVER_SUBSCRIPTION_ACTIVITY    0x04000000	// 67108864#define PRINT_SHARED_MEMORY_ACTIVITY    0x08000000#define PRINT_ALL_SOCKET_REQUESTS       0x10000000#define PRINT_EVERYTHING                0xFFFFFFFF	/* 4294967295 */#ifdef __cplusplusenum RCS_PRINT_DESTINATION_TYPE {#elsetypedef enum {#endif    RCS_PRINT_TO_STDOUT,    RCS_PRINT_TO_STDERR,    RCS_PRINT_TO_NULL,    RCS_PRINT_TO_LIST,    RCS_PRINT_TO_FILE,    RCS_PRINT_TO_MESSAGE_BOX,	/* Only available for Windows */    RCS_PRINT_TO_LOGGER		/* Only available for VXWORKS */#ifdef __cplusplus};#else} RCS_PRINT_DESTINATION_TYPE;#endif#ifdef __cplusplusextern "C" {#endif    extern void set_rcs_print_destination(RCS_PRINT_DESTINATION_TYPE);    /* Changes where the output of the rcs_print functions is directed. The       following choices are available:       RCS_PRINT_TO_STDOUT Print to stdout.       RCS_PRINT_TO_LOGGER Currently prints to stdout, except under VxWorks       where it uses the logMsg function, which is non-blocking.       RCS_PRINT_TO_STDERR Print to stderr       RCS_PRINT_TO_NULL Make all rcs_print functions return without doing       anything.       RCS_PRINT_TO_LIST Store all rcs_print messages in a linked list, so       that later they can be displayed in a separate window, or used in some        other way. The current list sizing mode defaults to a maximum size of       256 with excess nodes being deleted from the head. */    extern RCS_PRINT_DESTINATION_TYPE get_rcs_print_destination(void);    extern int rcs_print_sys_error(int error_source, char *_fmt, ...);#ifdef __cplusplus    enum RCS_PRINT_ERROR_SOURCE_TYPE {#else    typedef enum {#endif	ERRNO_ERROR_SOURCE = 1,	GETLASTERROR_ERROR_SOURCE,	WSAGETLASTERROR_ERROR_SOURCE#ifdef __cplusplus    };#else    } RCS_PRINT_ERROR_SOURCE_TYPE;#endif#ifdef __cplusplus};#endifextern int max_rcs_errors_to_print;extern int rcs_errors_printed;extern char last_error_bufs[4][100];extern int last_error_buf_filled;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -