WEB开发网
开发学院操作系统Linux/Unix 使用 Ttyutils 截获 UNIX/Linux 终端 阅读

使用 Ttyutils 截获 UNIX/Linux 终端

 2008-09-23 08:23:44 来源:WEB开发网   
核心提示: $ cc -o example example.c `pkg-config --cflags --libs ttyutils-1`第 1 行包含了头文件 <ttyutils.h>,这是每个外挂程序应该做的,使用 Ttyutils 截获 UNIX/Linux 终端(8), 第 6

$ cc -o example example.c `pkg-config --cflags --libs ttyutils-1`

第 1 行包含了头文件 <ttyutils.h>,这是每个外挂程序应该做的。

第 6 行声明了一个 TRpcTarget 结构的变量,这个结构描述如下 :

typedef enum
{
RPC_TARGET_TTY,
RPC_TARGET_PTS,
RPC_TARGET_PID,
RPC_TARGET_PATH
} TRpcTargetType;
typedef struct _TRpcTarget TRpcTarget;
struct _TRpcTarget
{
TRpcTargetType rt_type;
guint32 rt_timeout;
union
{
gchar *t_tty;
gchar *t_pts;
pid_t t_pid;
gchar *t_path;
} rt_target;
};
#define rt_tty rt_target.t_tty
#define rt_pts rt_target.t_pts
#define rt_pid rt_target.t_pid
#define rt_path rt_target.t_path

第 8 行调用了 t_init() 函数,要使用 ttyexec 接口的程序应该首先调用这个函数 ( 在调用其它接口函数之前 )。

第 11 行到 13 行设置 RPC 的目标,这里我们选择的是使用伪终端名称 "/dev/pts/3"。

上面 TRcTargetType 的枚举定义了我们可以使用的连接方式,它们分别是 :

RPC_TARGET_TTY ttyexec 实例使用的终端名称

RPC_TARGET_PTS ttyexec 实例运行命令的伪终端名称

RPC_TARGET_PID ttyexec 的进程 ID

RPC_TARGET_PATH ttyexec 为 RPC 服务建立的 UNIX 套接字名称

结构 TRpcTarget 中的联合体 rt_target 中的每个成员分别对应于每种不同的连接方式。为了方便的访问到 rt_target 中的成员,还分别定义了一些简化的宏 (rt_tty 等等 )。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:使用 Ttyutils 截获

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接