Subversion Repositories Kolibri OS

Rev

Rev 5717 | Rev 5722 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5717 Rev 5720
Line 16... Line 16...
16
 
16
 
17
__DEBUG__       = 1
17
__DEBUG__       = 1
Line 18... Line 18...
18
__DEBUG_LEVEL__ = 2
18
__DEBUG_LEVEL__ = 2
-
 
19
 
Line 19... Line 20...
19
 
20
BITS_PER_PIXEL  = 8             ; 8, 16 24
Line 20... Line 21...
20
BITS_PER_PIXEL  = 8            ; 8, 16 24
21
SERVERADDRLEN   = 4096
Line 27... Line 28...
27
        dd      0x01            ; header version
28
        dd      0x01            ; header version
28
        dd      START           ; start of code
29
        dd      START           ; start of code
29
        dd      I_END           ; size of image
30
        dd      I_END           ; size of image
30
        dd      IM_END          ; memory for app
31
        dd      IM_END          ; memory for app
31
        dd      IM_END          ; esp
32
        dd      IM_END          ; esp
32
        dd      0x0, 0x0        ; I_Param , I_Path
33
        dd      serveraddr, 0x0 ; I_Param , I_Path
Line 33... Line 34...
33
 
34
 
34
include "../../macros.inc"
35
include "../../macros.inc"
35
include "../../debug-fdo.inc"
36
include "../../debug-fdo.inc"
36
include "../../proc32.inc"
37
include "../../proc32.inc"
Line 66... Line 67...
66
 
67
 
Line 67... Line 68...
67
TIMEOUT                 = 5             ; timeout in seconds
68
TIMEOUT                 = 5             ; timeout in seconds
Line 68... Line 69...
68
 
69
 
69
RECEIVE_BUFFER_SIZE     = 8*1024*1024   ; 8 Mib
70
RECEIVE_BUFFER_SIZE     = 8*1024*1024   ; 8 Mib
70
 
71
 
71
STATUS_INITIAL          = 0
72
STATUS_CONNECT          = 0
72
STATUS_CONNECTING       = 1
73
STATUS_CONNECTING       = 1
73
STATUS_REQ_LOGIN        = 2
74
STATUS_REQ_LOGIN        = 2
Line 82... Line 83...
82
STATUS_PROTO_ERR        = 14
83
STATUS_PROTO_ERR        = 14
83
STATUS_SECURITY_ERR     = 15
84
STATUS_SECURITY_ERR     = 15
84
STATUS_LIB_ERR          = 16
85
STATUS_LIB_ERR          = 16
85
STATUS_THREAD_ERR       = 17
86
STATUS_THREAD_ERR       = 17
86
STATUS_LOGIN_FAILED     = 18
87
STATUS_LOGIN_FAILED     = 18
-
 
88
STATUS_SECURITY_ERR_C   = 19
Line 87... Line 89...
87
 
89
 
Line 88... Line 90...
88
BYTES_PER_PIXEL = (BITS_PER_PIXEL + 7) / 8
90
BYTES_PER_PIXEL = (BITS_PER_PIXEL + 7) / 8
89
 
91
 
Line 106... Line 108...
106
        test    eax, eax
108
        test    eax, eax
107
        jz      @f
109
        jz      @f
108
        mov     [status], STATUS_LIB_ERR
110
        mov     [status], STATUS_LIB_ERR
109
  @@:
111
  @@:
Line -... Line 112...
-
 
112
 
-
 
113
; Check if we got a server address through parameters
-
 
114
        cmp     byte[serveraddr], 0
-
 
115
        je      @f
-
 
116
        xor     al, al
-
 
117
        mov     edi, serveraddr
-
 
118
        mov     ecx, SERVERADDRLEN
-
 
119
        repne scasb
-
 
120
        sub     edi, serveraddr+1
-
 
121
        mov     [URLbox.size], edi
-
 
122
        mov     [URLbox.pos], edi
-
 
123
        call    open_connection
-
 
124
  @@:
110
 
125
 
111
; Present the user with the GUI and wait for network connection
126
; Present the user with the GUI and wait for network connection
Line 112... Line 127...
112
        call    draw_gui
127
        call    draw_gui
113
 
128
 
Line 138... Line 153...
138
        mcall   0                       ; draw window
153
        mcall   0                       ; draw window
Line 139... Line 154...
139
 
154
 
Line 140... Line 155...
140
        mcall   12, 2
155
        mcall   12, 2
-
 
156
 
141
 
157
draw_framebuffer:
142
draw_framebuffer:
158
        DEBUGF  1, "Drawing framebuffer\n"
Line 143... Line 159...
143
        mcall   7, framebuffer_data, dword[screen], 0
159
        mcall   7, framebuffer_data, dword[screen], 0
144
        mov     [update_framebuffer], 0
160
        mov     [update_framebuffer], 0
Line 312... Line 328...
312
.blue_shift             db 6            ; blue-shift
328
.blue_shift             db 6            ; blue-shift
313
                        db 0, 0, 0      ; padding
329
                        db 0, 0, 0      ; padding
Line 314... Line 330...
314
 
330
 
315
SetEncodings            db 2            ; setEncodings
331
SetEncodings            db 2            ; setEncodings
316
                        db 0            ; padding
332
                        db 0            ; padding
-
 
333
                        db 0, 4         ; number of encodings
317
                        db 0, 3         ; number of encodings
334
;                        db 0, 0, 0, 16  ; ZRLE
318
                        db 0, 0, 0, 1   ; Copyrect encoding
335
                        db 0, 0, 0, 15  ; TRLE
-
 
336
                        db 0, 0, 0, 2   ; RRE
319
                        db 0, 0, 0, 2   ; RRE
337
                        db 0, 0, 0, 1   ; Copyrect encoding
320
                        db 0, 0, 0, 0   ; raw encoding
-
 
321
;                        db 0, 0, 0, 5   ; HexTile
-
 
322
;                        db 0, 0, 0, 15  ; TRLE
-
 
323
;                        db 0, 0, 0, 16  ; ZRLE
338
                        db 0, 0, 0, 0   ; raw encoding
Line 324... Line 339...
324
  .length = $ - SetEncodings
339
  .length = $ - SetEncodings
325
 
340
 
326
FramebufferUpdateRequest        db 3
341
FramebufferUpdateRequest        db 3
Line 347... Line 362...
347
.ip             dd 0
362
.ip             dd 0
348
                rb 10
363
                rb 10
Line 349... Line 364...
349
 
364
 
Line 350... Line 365...
350
beep            db 0x85, 0x25, 0x85, 0x40, 0
365
beep            db 0x85, 0x25, 0x85, 0x40, 0
351
 
366
 
352
status                  dd STATUS_INITIAL
367
status                  dd STATUS_CONNECT
353
update_gui              dd 0
368
update_gui              dd 0
-
 
369
mouse_dd                dd 0
Line 354... Line 370...
354
mouse_dd                dd 0
370
update_framebuffer      dd 0
355
update_framebuffer      dd 0
371
thread_id               dd 0
356
 
372
 
Line 357... Line 373...
357
deflate_buffer          dd 0
373
deflate_buffer          dd 0
358
deflate_length          dd ?
374
deflate_length          dd ?
359
deflate_str             dd ?
375
deflate_str             dd ?
Line 360... Line 376...
360
 
376
 
361
URLbox          edit_box 235, 70, 20, 0xffffff, 0x6f9480, 0, 0, 0, 65535, serveraddr, mouse_dd, ed_focus, 0, 0
377
URLbox          edit_box 235, 70, 20, 0xffffff, 0x6f9480, 0, 0, 0, SERVERADDRLEN, serveraddr, mouse_dd, ed_focus, 0, 0
362
USERbox         edit_box 215, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0
378
USERbox         edit_box 215, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0
363
PASSbox         edit_box 215, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0
379
PASSbox         edit_box 215, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0
364
 
380
 
-
 
381
serverstr       db "server:"
-
 
382
userstr         db "username:"
365
serverstr       db "server:"
383
passstr         db "password:"
Line 366... Line 384...
366
userstr         db "username:"
384
connectstr      db "Connect"
367
passstr         db "password:"
385
loginstr        db "Log in"
368
connectstr      db "Connect"
386
cancelstr       db "Cancel"
369
loginstr        db "Log in"
387
okstr           db "OK"
370
loginstr_e:
388
okstr_e:
371
 
389
 
372
sz_err_disconnected     db "Server closed connection unexpectedly.", 0
390
sz_err_disconnected     db "The server has closed the connection unexpectedly.", 0
373
sz_err_dns              db "Could not resolve hostname.", 0
391
sz_err_dns              db "Could not resolve hostname.", 0
374
sz_err_sock             db "Could not open socket.", 0
392
sz_err_sock             db "Could not open socket.", 0
Line 375... Line 393...
375
sz_err_connect          db "Could not connect to the server.", 0
393
sz_err_connect          db "Could not connect to the server.", 0
Line 386... Line 404...
386
                dd sz_err_proto
404
                dd sz_err_proto
387
                dd sz_err_security
405
                dd sz_err_security
388
                dd sz_err_library
406
                dd sz_err_library
389
                dd sz_err_thread
407
                dd sz_err_thread
390
                dd sz_err_login_failed
408
                dd sz_err_login_failed
-
 
409
                dd sz_err_security_c
Line 391... Line 410...
391
 
410
 
392
; import
411
; import
393
align 4
412
align 4
Line 419... Line 438...
419
 
438
 
Line 420... Line 439...
420
I_END:
439
I_END:
Line -... Line 440...
-
 
440
 
-
 
441
servername              rb 64+1
-
 
442
 
421
 
443
serveraddr              db 0
422
servername              rb 64+1
444
                        rb SERVERADDRLEN
Line 423... Line 445...
423
 
445
 
Line 452... Line 474...
452
keymap_alt              rw 128
474
keymap_alt              rw 128
453
username                rb 128
475
username                rb 128
454
password                rb 128
476
password                rb 128
455
keys                    rd 32*2         ; DES keys for VNC authentication
477
keys                    rd 32*2         ; DES keys for VNC authentication
Line 456... Line 478...
456
 
478
 
-
 
479
sz_err_security_c       rb 512+1
457
serveraddr              rb 65536
480
 
458
receive_buffer          rb RECEIVE_BUFFER_SIZE
481
receive_buffer          rb RECEIVE_BUFFER_SIZE
Line 459... Line 482...
459
framebuffer_data        rb 1280*1024*3  ; framebuffer
482
framebuffer_data        rb 1280*1024*3  ; framebuffer
460
 
483