termreader.h
来自「SRI international 发布的OAA框架软件」· C头文件 代码 · 共 80 行
H
80 行
#ifndef TERMREADER_H
#define TERMREADER_H
#include "libicl.h"
#include "glib.h"
#ifdef NORMAL_GC
#undef CHECK_LEAKS
#include <gc/leak_detector.h>
#undef strdup
EXTERN char* gc_strdup(char*s);
#define strdup(s) gc_strdup(s)
#else
#define CHECK_LEAKS()
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct TermReaderStruct;
typedef struct TermReaderStruct TermReader;
typedef ICLTerm* (*TermReaderGetNext)(TermReader*, double);
typedef void (*TermReaderCleanup)(TermReader*);
enum TermReaderTypeEnum {
UNKNOWNTERMREADERTYPE = -1,
STRINGTERMREADERTYPE = 0,
BINARYTERMREADERTYPE = 1
}
;
typedef enum TermReaderTypeEnum TermReaderType;
enum TermReaderErrorNum {
TERMREADER_BINUNREACHABLE = -106,
TERMREADER_BINNOTENOUGHARGS = -105,
TERMREADER_BINBADICLSTRUCT = -104,
TERMREADER_BINBADICLSTR = -103,
TERMREADER_BINBADICLVAR = -102,
TERMREADER_BINUNEXPECTEDTYPE = -101,
TERMREADER_BINUNEXPECTEDSENTINEL = -100,
TERMREADER_NOTINITIALIZED = -3,
TERMREADER_READERR = -2,
TERMREADER_SELECTERR = -1,
TERMREADER_OKAY = 0,
TERMREADER_TIMEOUT = 1,
TERMREADER_NOCONN = 2,
TERMREADER_BINNOTENOUGHDATA = 100
}
;
EXTERN TermReader* termReader_create();
EXTERN void termReader_free(TermReader* t);
EXTERN void termReader_setError(TermReader* t, gint errnum);
EXTERN gint termReader_getError(TermReader* t);
EXTERN void termReader_setSocket(TermReader* t, gint newsocket);
EXTERN gint termReader_getSocket(TermReader* t);
EXTERN void termReader_setType(TermReader* t, TermReaderType type);
EXTERN TermReaderType termReader_getType(TermReader* t);
EXTERN void termReader_setReaderSpecificData(TermReader* t, gpointer g);
EXTERN gpointer termReader_getReaderSpecificData(TermReader* t);
EXTERN void termReader_setGetNextCallback(TermReader* t, TermReaderGetNext g);
EXTERN void termReader_setCleanupCallback(TermReader* t, TermReaderCleanup c);
/**
* Returns NULL on error--check TermReader.error
*/
EXTERN ICLTerm* termReader_getNextTerm(TermReader* t, double timeout);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?