Rev 2612 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2612 | Rev 2614 | ||
---|---|---|---|
Line 11... | Line 11... | ||
11 | ;; GNU GENERAL PUBLIC LICENSE ;; |
11 | ;; GNU GENERAL PUBLIC LICENSE ;; |
12 | ;; Version 2, June 1991 ;; |
12 | ;; Version 2, June 1991 ;; |
13 | ;; ;; |
13 | ;; ;; |
14 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
14 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 15... | Line 15... | ||
15 | 15 | ||
Line 16... | Line 16... | ||
16 | $Revision: 2612 $ |
16 | $Revision: 2614 $ |
Line 17... | Line 17... | ||
17 | 17 | ||
Line 169... | Line 169... | ||
169 | data_size dd ? |
169 | data_size dd ? |
Line 170... | Line 170... | ||
170 | 170 | ||
Line 171... | Line 171... | ||
171 | ends |
171 | ends |
Line 172... | Line 172... | ||
172 | 172 | ||
173 | 173 | ||
174 | SOCKETBUFFSIZE equ 4096 ; in bytes |
174 | SOCKETBUFFSIZE = 4096 ; in bytes |
Line 175... | Line 175... | ||
175 | 175 | ||
176 | SOCKET_QUEUE_SIZE equ 10 ; maximum number ofincoming packets queued for 1 socket |
176 | SOCKET_QUEUE_SIZE = 10 ; maximum number ofincoming packets queued for 1 socket |
177 | ; the incoming packet queue for sockets is placed in the socket struct itself, at this location from start |
177 | ; the incoming packet queue for sockets is placed in the socket struct itself, at this location from start |
178 | SOCKET_QUEUE_LOCATION equ (SOCKETBUFFSIZE - SOCKET_QUEUE_SIZE*sizeof.socket_queue_entry - sizeof.queue) |
178 | SOCKET_QUEUE_LOCATION = (SOCKETBUFFSIZE - SOCKET_QUEUE_SIZE*sizeof.socket_queue_entry - sizeof.queue) |
Line 219... | Line 219... | ||
219 | ;----------------------------------------------------------------- |
219 | ;----------------------------------------------------------------- |
220 | ; |
220 | ; |
221 | ; Socket API (function 74) |
221 | ; Socket API (function 74) |
222 | ; |
222 | ; |
223 | ;----------------------------------------------------------------- |
223 | ;----------------------------------------------------------------- |
224 | align 16 |
224 | align 4 |
- | 225 | sys_socket: |
|
- | 226 | ||
- | 227 | cmp ebx, 255 |
|
- | 228 | jz SOCKET_debug |
|
- | 229 | ||
- | 230 | cmp ebx, .number |
|
- | 231 | ja s_error |
|
- | 232 | jmp dword [.table + 4*ebx] |
|
- | 233 | ||
225 | sock_sysfn_table: |
234 | .table: |
226 | dd SOCKET_open ; 0 |
235 | dd SOCKET_open ; 0 |
227 | dd SOCKET_close ; 1 |
236 | dd SOCKET_close ; 1 |
228 | dd SOCKET_bind ; 2 |
237 | dd SOCKET_bind ; 2 |
229 | dd SOCKET_listen ; 3 |
238 | dd SOCKET_listen ; 3 |
230 | dd SOCKET_connect ; 4 |
239 | dd SOCKET_connect ; 4 |
231 | dd SOCKET_accept ; 5 |
240 | dd SOCKET_accept ; 5 |
232 | dd SOCKET_send ; 6 |
241 | dd SOCKET_send ; 6 |
233 | dd SOCKET_receive ; 7 |
242 | dd SOCKET_receive ; 7 |
234 | dd SOCKET_set_opt ; 8 |
243 | dd SOCKET_set_opt ; 8 |
235 | dd SOCKET_get_opt ; 9 |
244 | dd SOCKET_get_opt ; 9 |
236 | - | ||
237 | SOCKET_SYSFUNCS = ($ - sock_sysfn_table)/4 |
- | |
238 | - | ||
239 | - | ||
240 | align 4 |
- | |
241 | sys_socket: |
- | |
242 | cmp ebx, SOCKET_SYSFUNCS-1 |
- | |
243 | ja @f |
- | |
244 | jmp dword [sock_sysfn_table + 4*ebx] |
- | |
245 | @@: |
- | |
246 | cmp ebx, 255 |
- | |
247 | jz SOCKET_debug |
245 | .number = ($ - .table) / 4 - 1 |
Line 248... | Line 246... | ||
248 | 246 | ||
249 | s_error: |
247 | s_error: |
250 | DEBUGF 1,"socket error\n" |
248 | DEBUGF 1,"socket error\n" |