4 байта int | 4 байта int | 4 байта int | (размер-12) байта |
размер Това е общия размер на всички следващи данни описани в дясно |
Команда цяло число от 10001 до 19999 |
Код компресия (0/1) 1=компресиран файл 2=некомпресиран файл |
файл големината на файла може да е от 1 до 2000000-12 байта |
команда | описание | размер | формат | компресиран | действие |
10001 | Идентификация на терминала | 797 |
s254 стринг="VT3" int window_dx int window_dy int taskbarheight 2int fixedfontsz 2int controlfontsz int terminalstarttick s254 usernm s254 userpw | 1 |
Това трябва да е първата команда,
която терминалът изпраща
веднага след свързването. Сървърът отговаря със собщение 5 (Ok) и веднага стартира програмата S\DESK.RVM тоест ивицата на задачите с бутон "Старт" в долния край на прозореца |
10002 | Натиснат Клавиш keytypes: 1=CTRL, SHIFT, ALT 2=arrows INS DEL group 3=func F1..F11 4=CTRL, SHIFT F1..F11 ALT F1..F11 (кода е +100) 5=letter | 8 |
int keyvalue int keytype | 0 |
Клавишите Ctrl, Shift превключват едноименни флагове в O-програмата за статуса на юзера. Всички клавиши се препращат към фокусирания процес. |
10003 | Отпуснат Клавиш | 8 |
int keyvalue int keytype=0 | 0 |
Отпускането не се предава към апликацията. О-програмата само превключва Shift и Ctrl Терминалът изпраща отпускане само за клавишите Shift и Ctrl. |
10004 | Натиснат бутон на мишката 1=left 2=right | 12 |
int button x y | 0 |
О-програмата поддържа статус за двата бутона mouse_lbutton, mouse_rbutton, както и точката mouse_x,mouse_y. Тези флагове се превключват от събитията свързани с мишката. 10004 .. 10007 Препращат се към към фокусирания процес. |
10005 | Отпуснат бутон на мишката | 12 |
int button x y | 0 | |
10006 | Колелце на мишката step = (1,-1) | 4 |
int step | 0 | |
10007 | Движение на мишката | 8 |
int x y | 0 |
Движението на мишката засега се предава. Ако това е нужно, ще бъде уточнено по-късно. |
10008 | WM_RESIZE - нов размер на терминалния прозорец | 8 |
int dx dy | 0 |
Тази команда предизвиква промяна само в таскбара. Прозорците вътре в терминала не се променят. |
10009 | Фокус | 8 |
int pid wid | 0 | Терминалът изпраща фокус когато щракнем с мишката върху прозорец, или таскбара. |
10010 | Старт на RVM програма в прозорец | length(cmd) |
s255 cmd | 0 |
Команда към O-програмата за да стартира посочена RVM-програма с линия cmd. Програмата се стартира като прозорец и се докладва в Таскбара. |
10011 | Затвори прозорец | 4 |
int pid | 0 |
Тази команда изключва процес посочен от pid. Тя се излъчва когато щракнем с мишката в горния десен ъгъл (x) на прозореца, изобразяващ процеса. |
10012 | Преместване или размер на прозорец | 12 |
int code int dx dy | 0 |
При char(code)=#0 прозорецът се отмества с dx dy Иначе прозорецът се разширява с dx dy R D 3 надолу и надясно L U 1 нагоре и наляво 2 нагоре и надясно 4 надолу и наляво |
10013 | Промяна в състоянието на прозорец | 12 |
int code wstate n code must be W | 0 |
wstate=1 Нормален прозорец wstate=2 Минимален прозорец wstate=3 Максимален прозорец |
10014 | Искам файл | 12 | int fpid fcom fsz | 0 |
fpid процес на файловия прозорец fcom команда fsz размер Терминалът изпраща тази команда към сървъра, за да поиска файлов буфер, след като е получил команда 42-initfile или 43-filebuffer. |
10015 | Старт на RVM процес без доклад в таскбара | length(cmd) |
s255 cmd | 0 |
Това е команда към O-програмата за да стартира посочената RVM-програма с линия cmd. Програмата се стартира само като процес, не се докладва в Таскбара. |
10016 | Команда идваща от бутон, меню, или друга контрола в терминала | 4+4 [+1+len(ocmd)] |
int pid code s254 ocmd | 0 |
Това е команда възникнала след бутон или друга контрола от процес pid. code има запазени стойности 1=натиснат е бутон OK; 2 = пряка команда към O; 3 = стартирай RVM програма ако code=2 ocmd може да бъде QUITTERMINAL = изключи юзера; RENEWTERMINAL = обнови терминала. Иначе към процеса pid се изпраща съобщение от типа 0008 0004 където 0008 е команда "натиснато е копче" а 0004 е форматиран стринг за изпратения код code |
10017 | Събитие в текст идващо от Edit контрола в терминала | 20 |
int pid int ev id mx my | 0 |
В текстова контрола е натиснат клавиш или е възникнало събитие от мишката. pid процес; id контрола; ev събитие: mouse_cm_lbutton=3 - натиснат е ляв бутон на мишката mouse_cm_enddrag=6 - отпуснат е ляв бутон на мишката mouse_cm_movedrag=5 - мишката драгва блок в текста ttovm_cm_paste=7 - команда Постави/Paste/ текстов клип; - в първите три случая mx е позицията на курсора в символи (0-based) key_cm_normal=0 - натиснат е клавиш - буква, или [Enter=13, Esc=27, BackSpace=8] key_cm_func=1 - натиснат е клавиш от група стрелки или F-клавиш; в този случай my трябва да е класиращ код за клавиша. Kлавиша е в mx. |
10018 | Файлов пренос от терминала към сървъра (TTS) | 24 +len(fnm)+1 +datasize |
int pid fid fcom int ftype fpos fsize s254 fnm data | 0 |
Сървърът може да изисква от терминала файл използувайки последователно двете команди: cmd_demandfile=68 и cmd_sendfile=69 Терминалът отговаря с 10018 pid процес; fid файл_номер; fcom команден код: ftyp-тип на файла; fpos позиция за следващия даннов участък; fsize размер на данните. tts_filerequested=2 - отвори файл - отговор на cmd_demand_file В този случай fsize е размера на целия файл. Няма данни. tts_receivefilepart=3 - приеми участък от файла - отговор на cmd_send_file В този случай следват данни fsize байта. tts_receivefileerror=4 - грешка възникнала терминала |
10019 | Указание-стойност на контрола, възникнала в терминала и насочена към процес в сървъра | 4+4 [+1+len(cm)] |
int pid code s254 cm | 0 |
Това е променлива, например текуща линия в лист-бокс, която се изпраща към сървъра. pid процес; code вътрешен код; cm команден стринг |