summaryrefslogtreecommitdiffabout
path: root/kinsole.cpp
Unidiff
Diffstat (limited to 'kinsole.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kinsole.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/kinsole.cpp b/kinsole.cpp
index 463db1c..01286f3 100644
--- a/kinsole.cpp
+++ b/kinsole.cpp
@@ -1,43 +1,43 @@
1#include <stdio.h> 1#include <stdio.h>
2 2
3 #ifdef_DEBUG 3 #ifdef_DEBUG
4#include <afxwin.h> 4#include <afxwin.h>
5#else 5#else
6#define ASSERT(f) ((void)0) 6#define ASSERT(f) ((void)0)
7#define VERIFY(f) ((void)(f)) 7#define VERIFY(f) ((void)(f))
8#define TRACE0(sz) 8#define TRACE0(sz)
9#define TRACE1(sz, p1) 9#define TRACE1(sz, p1)
10#define TRACE2(sz, p1, p2) 10#define TRACE2(sz, p1, p2)
11#define TRACE3(sz, p1, p2, p3) 11#define TRACE3(sz, p1, p2, p3)
12#endif 12#endif
13 13
14#include <winsock.h> 14#include <winsock.h>
15#include "resource.h" 15#include "resource.h"
16#include "windowsx.h" 16#include "windowsx.h"
17 17
18 #define DAMN_KIN_NAME "KINSole" 18 #define DAMN_KIN_NAME "KINSole"
19 #define DAMN_KIN_VERSION"v1.00 Beta 3" 19 #define DAMN_KIN_VERSION"1.1"
20 20
21#ifdef _DEBUG 21#ifdef _DEBUG
22#define new DEBUG_NEW 22#define new DEBUG_NEW
23#undef THIS_FILE 23#undef THIS_FILE
24static char THIS_FILE[] = __FILE__; 24static char THIS_FILE[] = __FILE__;
25#endif 25#endif
26 26
27enum { 27enum {
28 WM_USERSOCKET = WM_USER+16, 28 WM_USERSOCKET = WM_USER+16,
29 WM_USERKEY, 29 WM_USERKEY,
30 WM_USERNOP 30 WM_USERNOP
31}; 31};
32enum { 32enum {
33 tnIAC = 255, 33 tnIAC = 255,
34 tnSE = 240, 34 tnSE = 240,
35 tnNOP = 241, 35 tnNOP = 241,
36 tnDM = 242, 36 tnDM = 242,
37 tnBreak = 243, 37 tnBreak = 243,
38 tnIP = 244, 38 tnIP = 244,
39 tnAO = 245, 39 tnAO = 245,
40 tnAYT = 246, 40 tnAYT = 246,
41 tnEC = 247, 41 tnEC = 247,
42 tnEL = 248, 42 tnEL = 248,
43 tnGA = 249, 43 tnGA = 249,
@@ -529,61 +529,61 @@ HWND hrv = FindWindowEx(NULL,NULL,"tty",t);
529HWND nopro = NULL; 529HWND nopro = NULL;
530UINT nopros=0; 530UINT nopros=0;
531 do{ 531 do{
532 DWORD wpid; 532 DWORD wpid;
533 if(!GetWindowThreadProcessId(hrv,&wpid)) 533 if(!GetWindowThreadProcessId(hrv,&wpid))
534 continue; 534 continue;
535 if(wpid==pid) 535 if(wpid==pid)
536 return hrv; 536 return hrv;
537 nopro=hrv; 537 nopro=hrv;
538 nopros++; 538 nopros++;
539 hrv = FindWindowEx(NULL,hrv,"tty",t); 539 hrv = FindWindowEx(NULL,hrv,"tty",t);
540 }while(hrv); 540 }while(hrv);
541 if(nopros==1){ 541 if(nopros==1){
542 ASSERT(nopro); 542 ASSERT(nopro);
543 return nopro; 543 return nopro;
544 } 544 }
545 return NULL; 545 return NULL;
546} 546}
547 547
548main(int argc,char*argv[]) 548main(int argc,char*argv[])
549{ 549{
550 if(argc<2){ 550 if(argc<2){
551usagebye: 551usagebye:
552 printf( 552 printf(
553 DAMN_KIN_NAME " " DAMN_KIN_VERSION ", Copyright (c) 1998, 2002 Klever Group (http://www.klever.net/)\n\n" 553 DAMN_KIN_NAME " " DAMN_KIN_VERSION ", Copyright (c) 1998-2004 Klever Group (http://www.klever.net/)\n\n"
554 "Usage:\t" DAMN_KIN_NAME " [<options> ]<host-name/ip-address>[ <port>]\n\n" 554 "Usage:\t" DAMN_KIN_NAME " [<options> ]<host-name/ip-address>[ <port>]\n\n"
555 "Options are:\n" 555 "Options are:\n"
556 "-r## or -##\tSet number of rows in console screenbuffer\n" 556 "-r## or -##\tSet number of rows in console screenbuffer\n"
557 "-c##\t\tSet number of columns in console screenbuffer\n" 557 "-c##\t\tSet number of columns in console screenbuffer\n"
558 "\tnote: changing console screenbuffer size may not work properly\n" 558 "\tnote: changing console screenbuffer size may not work properly\n"
559 "\twhen in full-screen mode\n" 559 "\twhen in full-screen mode\n"
560 "-l<user>\tPass username to remote server in environment\n" 560 "-l<user>\tPass username to remote server in environment\n"
561 "-e<var>=<val>\tPass environment variable to remote server\n" 561 "-e<var>=<val>\tPass environment variable to remote server\n"
562 "-v<var>=<val>\tPass user environment variable to remote server\n" 562 "-v<var>=<val>\tPass user environment variable to remote server\n"
563 "-t<termtype>\tChange preferred terminal type\n" 563 "-t<termtype>\tChange preferred terminal type\n"
564 "\tnote: there are only two different terminal emulations in this\n" 564 "\tnote: there are only two different terminal emulations in this\n"
565 "\tbeta release - one for dumb terminal and one for vt terminal\n" 565 "\trelease - one for dumb terminal and one for vt terminal\n"
566 ); 566 );
567 CleanEnvars(); 567 CleanEnvars();
568 return 1; 568 return 1;
569 } 569 }
570 if(!InitializeWinsock()){ 570 if(!InitializeWinsock()){
571 DeinitializeWinsock(); 571 DeinitializeWinsock();
572 return 2; 572 return 2;
573 } 573 }
574CONSOLE_SCREEN_BUFFER_INFO csbi; 574CONSOLE_SCREEN_BUFFER_INFO csbi;
575int ac = 0; 575int ac = 0;
576CHAR *ho = NULL, *po = NULL; 576CHAR *ho = NULL, *po = NULL;
577HANDLE hConsole = CreateFile("CONOUT$",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE, 577HANDLE hConsole = CreateFile("CONOUT$",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,
578 NULL,OPEN_EXISTING,0,NULL); 578 NULL,OPEN_EXISTING,0,NULL);
579 ASSERT(hConsole); 579 ASSERT(hConsole);
580 // *** GetStdHandle(STD_OUTPUT_HANDLE);// *?*?* Do something about redirections and not only here. 580 // *** GetStdHandle(STD_OUTPUT_HANDLE);// *?*?* Do something about redirections and not only here.
581 VERIFY(GetConsoleScreenBufferInfo(hConsole,&csbi)); 581 VERIFY(GetConsoleScreenBufferInfo(hConsole,&csbi));
582BOOL bSized=FALSE; 582BOOL bSized=FALSE;
583 bTermPulled=FALSE; 583 bTermPulled=FALSE;
584 for(int tmp=1;tmp<argc;tmp++){ 584 for(int tmp=1;tmp<argc;tmp++){
585 char* v = argv[tmp]; 585 char* v = argv[tmp];
586 ASSERT(v && *v); 586 ASSERT(v && *v);
587 if((*v)=='/' || (*v)=='-'){ 587 if((*v)=='/' || (*v)=='-'){
588 int lines = atoi(&v[1]); 588 int lines = atoi(&v[1]);
589 if(lines){ 589 if(lines){