Changeset a46da63 in mainline for fb/sysio.c
- Timestamp:
- 2006-06-16T20:50:51Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 153a209
- Parents:
- b34fab6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fb/sysio.c
rb34fab6 ra46da63 121 121 return; 122 122 } 123 123 124 client_connected = 1; 124 125 ipc_answer_fast(iid, 0, 0, 0); /* Accept connection */ 125 126 while (1) { 126 127 callid = async_get_call(&call); 127 switch (IPC_GET_METHOD(call)) { 128 case IPC_M_PHONE_HUNGUP: 129 client_connected = 0; 130 ipc_answer_fast(callid,0,0,0); 131 return; /* Exit thread */ 132 case FB_PUTCHAR: 133 c = IPC_GET_ARG1(call); 134 newrow = IPC_GET_ARG2(call); 135 newcol = IPC_GET_ARG3(call); 136 if (lastcol != newcol || lastrow!=newrow) 128 switch (IPC_GET_METHOD(call)) { 129 case IPC_M_PHONE_HUNGUP: 130 client_connected = 0; 131 ipc_answer_fast(callid, 0, 0, 0); 132 return; /* Exit thread */ 133 case FB_PUTCHAR: 134 c = IPC_GET_ARG1(call); 135 newrow = IPC_GET_ARG2(call); 136 newcol = IPC_GET_ARG3(call); 137 if ((lastcol != newcol) || (lastrow != newrow)) 138 curs_goto(newrow, newcol); 139 lastcol = newcol + 1; 140 lastrow = newrow; 141 sysput(c); 142 retval = 0; 143 break; 144 case FB_CURSOR_GOTO: 145 newrow = IPC_GET_ARG1(call); 146 newcol = IPC_GET_ARG2(call); 137 147 curs_goto(newrow, newcol); 138 lastcol = newcol + 1; 139 lastrow = newrow; 140 sysput(c); 141 retval = 0; 142 break; 143 case FB_CURSOR_GOTO: 144 newrow = IPC_GET_ARG1(call); 145 newcol = IPC_GET_ARG2(call); 146 curs_goto(newrow, newcol); 147 lastrow = newrow; 148 lastcol = newcol; 149 break; 150 case FB_GET_CSIZE: 151 ipc_answer_fast(callid, 0, HEIGHT, WIDTH); 152 continue; 153 case FB_CLEAR: 154 clrscr(); 155 retval = 0; 156 break; 157 case FB_SET_STYLE: 158 fgcolor = IPC_GET_ARG1(call); 159 bgcolor = IPC_GET_ARG2(call); 160 if (fgcolor < bgcolor) 161 set_style(0); 162 else 163 set_style(7); 164 retval = 0; 165 break; 166 case FB_SCROLL: 167 i = IPC_GET_ARG1(call); 168 if (i > HEIGHT || i < -HEIGHT) { 169 retval = EINVAL; 148 lastrow = newrow; 149 lastcol = newcol; 150 retval = 0; 170 151 break; 171 } 172 scroll(i); 173 curs_goto(lastrow, lastcol); 174 retval = 0; 175 break; 176 177 default: 178 retval = ENOENT; 152 case FB_GET_CSIZE: 153 ipc_answer_fast(callid, 0, HEIGHT, WIDTH); 154 continue; 155 case FB_CLEAR: 156 clrscr(); 157 retval = 0; 158 break; 159 case FB_SET_STYLE: 160 fgcolor = IPC_GET_ARG1(call); 161 bgcolor = IPC_GET_ARG2(call); 162 if (fgcolor < bgcolor) 163 set_style(0); 164 else 165 set_style(7); 166 retval = 0; 167 break; 168 case FB_SCROLL: 169 i = IPC_GET_ARG1(call); 170 if ((i > HEIGHT) || (i < -HEIGHT)) { 171 retval = EINVAL; 172 break; 173 } 174 scroll(i); 175 curs_goto(lastrow, lastcol); 176 retval = 0; 177 break; 178 default: 179 retval = ENOENT; 179 180 } 180 ipc_answer_fast(callid,retval,0,0); 181 182 ipc_answer_fast(callid, retval, 0, 0); 181 183 } 182 184 } … … 194 196 /** 195 197 * @} 196 */ 197 198 */
Note:
See TracChangeset
for help on using the changeset viewer.