Rev 914 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 914 | Rev 2971 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;; ;; |
6 | ;; ;; |
7 | ;; QUEUE.INC ;; |
7 | ;; QUEUE.INC ;; |
8 | ;; ;; |
8 | ;; ;; |
9 | ;; Buffer queue management for Menuet OS TCP/IP Stack ;; |
9 | ;; Buffer queue management for Menuet OS TCP/IP Stack ;; |
10 | ;; ;; |
10 | ;; ;; |
11 | ;; Version 0.3 29 August 2002 ;; |
- | |
12 | ;; ;; |
- | |
13 | ;; Copyright 2002 Mike Hibbett, mikeh@oceanfree.net ;; |
11 | ;; Copyright 2002 Mike Hibbett, mikeh@oceanfree.net ;; |
14 | ;; ;; |
12 | ;; ;; |
15 | ;; See file COPYING for details ;; |
13 | ;; See file COPYING for details ;; |
16 | ;; ;; |
14 | ;; ;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 18... | Line 16... | ||
18 | 16 | ||
Line 19... | Line 17... | ||
19 | $Revision: 914 $ |
17 | $Revision: 2971 $ |
20 | 18 | ||
21 | 19 | ||
Line 41... | Line 39... | ||
41 | ; Adds a buffer number to the beginning of the free list. |
39 | ; Adds a buffer number to the beginning of the free list. |
42 | ; buffer number in eax ( ms word zeroed ) |
40 | ; buffer number in eax ( ms word zeroed ) |
43 | ; all other registers preserved |
41 | ; all other registers preserved |
44 | ; This always works, so no error returned |
42 | ; This always works, so no error returned |
45 | ;*************************************************************************** |
43 | ;*************************************************************************** |
46 | uglobal |
44 | ;uglobal |
47 | freeBuff_cnt dd ? |
45 | ; freeBuff_cnt dd ? |
48 | endg |
46 | ;endg |
49 | freeBuff: |
47 | freeBuff: |
50 | ; inc [freeBuff_cnt] |
48 | ; inc [freeBuff_cnt] |
51 | ; DEBUGF 1, "K : freeBuff (%u)\n", [freeBuff_cnt] |
49 | ; DEBUGF 1, "K : freeBuff (%u)\n", [freeBuff_cnt] |
52 | push ebx |
50 | push ebx |
53 | push ecx |
51 | push ecx |
Line 104... | Line 102... | ||
104 | ; queue number in eax ( ms word zeroed ) |
102 | ; queue number in eax ( ms word zeroed ) |
105 | ; buffer number in ebx ( ms word zeroed ) |
103 | ; buffer number in ebx ( ms word zeroed ) |
106 | ; all other registers preserved |
104 | ; all other registers preserved |
107 | ; This always works, so no error returned |
105 | ; This always works, so no error returned |
108 | ;*************************************************************************** |
106 | ;*************************************************************************** |
109 | uglobal |
107 | ;uglobal |
110 | queue_cnt dd ? |
108 | ; queue_cnt dd ? |
111 | endg |
109 | ;endg |
112 | queue: |
110 | queue: |
113 | ; inc [queue_cnt] |
111 | ; inc [queue_cnt] |
114 | ; DEBUGF 1, "K : queue (%u)\n", [queue_cnt] |
112 | ; DEBUGF 1, "K : queue (%u)\n", [queue_cnt] |
115 | push ebx |
113 | push ebx |
116 | shl ebx, 1 |
114 | shl ebx, 1 |
Line 159... | Line 157... | ||
159 | ; queue number in eax ( ms word zeroed ) |
157 | ; queue number in eax ( ms word zeroed ) |
160 | ; buffer number returned in eax ( ms word zeroed ) |
158 | ; buffer number returned in eax ( ms word zeroed ) |
161 | ; all other registers preserved |
159 | ; all other registers preserved |
162 | ; |
160 | ; |
163 | ;*************************************************************************** |
161 | ;*************************************************************************** |
164 | uglobal |
162 | ;uglobal |
165 | dequeue_cnt dd ? |
163 | ; dequeue_cnt dd ? |
166 | endg |
164 | ;endg |
167 | dequeue: |
165 | dequeue: |
168 | push ebx |
166 | push ebx |
169 | shl eax, 1 |
167 | shl eax, 1 |
170 | add eax, queues ; eax now holds address of queue |
168 | add eax, queues ; eax now holds address of queue |
171 | mov ebx, eax |
169 | mov ebx, eax |