51 lines
		
	
	
		
			983 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			983 B
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #include <windows.h>
 | ||
|  | #include <stdio.h>
 | ||
|  | 
 | ||
|  | int ptt_(int *nport, int *ntx, int *iptt) | ||
|  | { | ||
|  |   static HANDLE hFile; | ||
|  |   static int open=0; | ||
|  |   char s[10]; | ||
|  |   int i3=1,i4=1,i5=1,i6=1,i9=1,i00=1; | ||
|  | 
 | ||
|  |   if(*nport==0) { | ||
|  |     *iptt=*ntx; | ||
|  |     return(0); | ||
|  |   } | ||
|  | 
 | ||
|  |   if(*ntx && (!open)) { | ||
|  |     sprintf(s,"\\\\.\\COM%d",*nport); | ||
|  |     hFile=CreateFile(TEXT(s),GENERIC_WRITE,0,NULL,OPEN_EXISTING, | ||
|  | 		     FILE_ATTRIBUTE_NORMAL,NULL); | ||
|  |     if(hFile==INVALID_HANDLE_VALUE) { | ||
|  |       //      printf("PTT: Cannot open COM port %d.\n",*nport);
 | ||
|  |       return 1; | ||
|  |     } | ||
|  |     open=1; | ||
|  |   } | ||
|  | 
 | ||
|  |   if(*ntx && open) { | ||
|  |     i3=EscapeCommFunction(hFile,3); | ||
|  |     i5=EscapeCommFunction(hFile,5); | ||
|  |     *iptt=1; | ||
|  |   } | ||
|  | 
 | ||
|  |   else { | ||
|  |     i4=EscapeCommFunction(hFile,4); | ||
|  |     i6=EscapeCommFunction(hFile,6); | ||
|  |     i9=EscapeCommFunction(hFile,9); | ||
|  |     i00=CloseHandle(hFile); | ||
|  |     *iptt=0; | ||
|  |     open=0; | ||
|  |   } | ||
|  |   /*
 | ||
|  |   if(i3==0) return 3; | ||
|  |   if(i4==0) return 4; | ||
|  |   if(i5==0) return 5; | ||
|  |   if(i6==0) return 6; | ||
|  |   if(i9==0) return 9; | ||
|  |   if(i00==0) return 10; | ||
|  |   */ | ||
|  |   return 0; | ||
|  | } |