static bool_t __telnetConsoleInstall() { if(NULL !=Driver_DeviceCreate(NULL,CN_TELNET_DEVNAME,NULL,NULL,__telnetWrite,__telnetRead,NULL,NULL,0)) { return true; } else { return false; } }
//----初始化命令行设备--------------------------------------------------------- //功能: 如名 //参数: 无 //返回: 无意义 //----------------------------------------------------------------------------- ptu32_t ModuleInstall_Cmd(ptu32_t para) { tagDevHandle cmd_dev; pMultiplexCmd = NULL; MplCmdStatus = CN_MULTIPLEX_SENSINGBIT_WRITE;//初始时可写不可读 Ring_Init( &recv_ring_buf, (u8 *)cmd_ptcl_recv_buf, cmd_buf_len); //以下建立windows 终端输入设备 cmd_dev = Driver_DeviceCreate( NULL,"windows_cmd", NULL,NULL, (devWriteFunc) cmd_DriverWrite, (devReadFunc ) cmd_DriverRead, (devCtrlFunc ) cmd_DriverCtrl, cmd_MultiplexAdd, 0 ); if(cmd_dev == NULL) goto exit_from_add_device; // pg_cmd_hdl = Driver_OpenDevice("windows_cmd",O_RDWR,0); //打开右手句柄 Int_IsrConnect(cn_int_line_cmd,cmd_int); Int_SettoAsynSignal(cn_int_line_cmd); Int_RestoreAsynLine(cn_int_line_cmd); win32_scanf = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)win32_scanf_pro, 0, 0, NULL ); SetThreadAffinityMask( win32_scanf, 1 ); hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); hStdIn = GetStdHandle(STD_INPUT_HANDLE); /* hNewScreenBuffer = CreateConsoleScreenBuffer( GENERIC_READ | GENERIC_WRITE, // read/write access FILE_SHARE_READ | FILE_SHARE_WRITE, // shared NULL, // default security attributes CONSOLE_TEXTMODE_BUFFER, // must be TEXTMODE NULL); // reserved; must be NULL SetConsoleActiveScreenBuffer(hNewScreenBuffer); */ return 1; exit_from_add_device: return 0; }