你试过在UNIX系统上连接通讯设备吗?UNIX系统的版本很多,在具体处理上都有不少差别。这里向你介绍我的一个程序:雷卡(RACAL)加密机与SCO-UNIX、TANDEM、HP9000三种平台的连接测试程序
hsmtest.c --- Test RACAL HSM
Host & port & device name:
1) Tandem: NonStop-UX
Asyn port 2: /dev/ttya2
2) PC Server: SCO UNIX 5.0.5
COM1 port: /dev/tty1a
3) HP 9000 Model K360: HP-UX B.10.20
dtc port 1: /dev/ttydtc1
Compile:
1)Tandem:
cc hsmtest.c -ohsmtest
2)PC SCO-UNIX:
cc hsmtest.c -ohsmtest
3)HP9000:
cc -Aa +DAportable -D_HPUX_SOURCE hsmtest.c -ohsmtest
*/
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <termio.h>
#include <sys/ioctl.h>
#include <sys/termio.h>
typedef unsigned char USGC;
#if __nonstopux /* Tandem */
char logical_port_id[] = "/dev/ttya2";
#endif
#if unix & i386 /* PC Server, SCO-UNIX 5.0.5 */
char logical_port_id[] = "/dev/tty1a";
#endif
#if __hpux /* HP9000 K360, HP-UX 10.20 */
char logical_port_id[] = "/dev/ttydtc1";
#endif
int port_fd;
int msg_head_no = 0, cmd_no = 1;
void disp_string(USGC *str, int n)
{
int i;
for(i = 0; i < n; i++)
{
if(str[i] < 0x20 || str[i] >= 0x7F)
printf("(%02X)", str[i]);
else
printf("%c", str[i]);
}
}
int open_port(char *dev_name)
{
struct termio termo, termn; /* New and old termio specs */
port_fd = open(dev_name, O_RDWR);
if(port_fd < 0) return -1;
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 平台 连接 测试 程序 加密 源码 printf if rc port_fd |
注册
个人空间
