Changeset 15746
- Timestamp:
- 05/17/12 14:36:16 (11 years ago)
- Location:
- titan
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/doc/copyright.txt
r15335 r15746 5 5 /* copyright by NIT */ 6 6 /*****************************************************/ 7 8 9 #*****************************************************# 10 #* this file is part of the tiTan / tiTanNIT Project *# 11 #* and allowed only for use with this. *# 12 #* *# 13 #* copyright by NIT *# 14 #*****************************************************# -
titan/titan/rc.h
r15682 r15746 2 2 #define RC_H 3 3 4 int openrcsim() 5 { 6 status.fdrcsim = -1; 7 8 mkfifo("/tmp/rcsimpipe", 0666); 9 status.fdrcsim = open("/tmp/rcsimpipe", O_RDWR); 10 if(status.fdrcsim < 0) 11 { 12 perr("open or create /tmp/rcsimpipe"); 13 return 1; 14 } 15 16 closeonexec(status.fdrcsim); 4 int sendtuxtxt(int code) 5 { 6 int rc; 7 8 if((rc = open("/tmp/block.tmp", O_RDONLY)) >= 0) 9 { 10 close(rc); 11 12 if(status.fdrctxt <= 0) 13 { 14 struct sockaddr_un vAddr; 15 vAddr.sun_family = AF_UNIX; 16 strcpy(vAddr.sun_path, "/tmp/rc.socket"); 17 status.fdrctxt = socket(PF_UNIX, SOCK_STREAM, 0); 18 19 if(status.fdrctxt <= 0) 20 { 21 err("open tuxtxt rc socket"); 22 return 1; 23 }; 24 25 if(connect(status.fdrctxt, (struct sockaddr *)&vAddr, sizeof(vAddr)) !=0) 26 { 27 close(status.fdrctxt); 28 status.fdrctxt = -1; 29 err("connect to tuxtxt rc socket"); 30 return 1; 31 } 32 } 33 34 if(status.fdrctxt > 0) 35 { 36 char* tmpstr = malloc(8); 37 if(tmpstr != NULL) 38 { 39 sprintf(tmpstr, "%08d", code); 40 41 if(write(status.fdrctxt, tmpstr, 8) <= 0) 42 { 43 err("forwarding to rc socket"); 44 close(status.fdrctxt); 45 status.fdrctxt = -1; 46 free(tmpstr); tmpstr = NULL; 47 return 1; 48 } 49 } 50 free(tmpstr); tmpstr = NULL; 51 } 52 else 53 { 54 err("forwarding to rc socket"); 55 } 56 return 0; 57 } 58 59 if(status.fdrctxt != -1) 60 { 61 close(status.fdrctxt); 62 status.fdrctxt = -1; 63 } 17 64 return 0; 18 65 } … … 124 171 125 172 gettimeofday(&akttime, 0); 126 173 sendtuxtxt(keycode); 174 127 175 rcdata.time = akttime; 128 176 rcdata.type = EV_KEY; … … 130 178 rcdata.value = 1; 131 179 write(status.fdrc, &rcdata, sizeof(rcdata)); 132 180 133 181 rcdata.time = akttime; 134 182 rcdata.type = EV_KEY; 135 183 rcdata.code = keycode; 136 184 rcdata.value = 0; 137 138 //return write(status.fdrcsim, &rcdata, sizeof(rcdata)); 139 return write(status.fdrc, &rcdata, sizeof(rcdata)); 185 186 return write(status.fdrc, &rcdata, sizeof(rcdata)); 140 187 } 141 188 … … 168 215 } 169 216 } 170 171 217 218 return 0; 172 219 } 173 220 … … 196 243 FD_ZERO(&rfds); 197 244 FD_SET(status.fdrc, &rfds); 198 FD_SET(status.fdrcsim, &rfds);199 245 200 246 if(fromthread == 0) status.sec = 0; 201 247 if((fromthread == 0 && status.rckey == 0) || fromthread == 1) 202 248 { 203 ret = TEMP_FAILURE_RETRY(select(status.fdrc sim+ 1, &rfds, NULL, NULL, &tv));249 ret = TEMP_FAILURE_RETRY(select(status.fdrc + 1, &rfds, NULL, NULL, &tv)); 204 250 if(status.rcowner != NULL && status.rcowner != owner) 205 251 { … … 214 260 if(FD_ISSET(status.fdrc, &rfds)) 215 261 len = TEMP_FAILURE_RETRY(read(status.fdrc, &rcdata, sizeof(struct input_event))); 216 if(FD_ISSET(status.fdrcsim, &rfds))217 len = TEMP_FAILURE_RETRY(read(status.fdrcsim, &rcdata, sizeof(struct input_event)));218 262 219 263 if(rcdata.type != EV_KEY) -
titan/titan/struct.h
r15724 r15746 936 936 // rc filedescriptor 937 937 int fdrc; 938 // rc filedescriptor for simulating keypress (fifo)939 int fdrc sim;938 // rc filedescriptor for tuxtxt 939 int fdrctxt; 940 940 int writeconfig; 941 941 int writeownconfig; -
titan/titan/titan.c
r15630 r15746 559 559 goto starterror; 560 560 } 561 ret = openrcsim();562 if(ret != 0)563 {564 tmpstr = ostrcat(tmpstr, _("Error: open rcsim device !!"), 1, 0);565 goto starterror;566 }567 561 568 562 if(fegetdev() < 1)
Note: See TracChangeset
for help on using the changeset viewer.