Rev 3257 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3257 | Rev 3259 | ||
---|---|---|---|
Line 13... | Line 13... | ||
13 | ;; GNU GENERAL PUBLIC LICENSE ;; |
13 | ;; GNU GENERAL PUBLIC LICENSE ;; |
14 | ;; Version 2, June 1991 ;; |
14 | ;; Version 2, June 1991 ;; |
15 | ;; ;; |
15 | ;; ;; |
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 17... | Line 17... | ||
17 | 17 | ||
Line 18... | Line 18... | ||
18 | $Revision: 3257 $ |
18 | $Revision: 3259 $ |
Line 19... | Line 19... | ||
19 | 19 | ||
Line 826... | Line 826... | ||
826 | call SOCKET_block |
826 | call SOCKET_block |
827 | jmp .loop |
827 | jmp .loop |
Line 828... | Line 828... | ||
828 | 828 | ||
- | 829 | ||
- | 830 | align 4 |
|
- | 831 | SOCKET_receive_local: |
|
- | 832 | ||
- | 833 | ; does this socket have a PID yet? |
|
- | 834 | cmp [eax + SOCKET.PID], 0 |
|
- | 835 | jne @f |
|
- | 836 | ||
- | 837 | ; Change PID to that of current process |
|
- | 838 | mov ebx, [TASK_BASE] |
|
- | 839 | mov ebx, [ebx + TASKDATA.pid] |
|
- | 840 | mov [eax + SOCKET.PID], ebx |
|
- | 841 | @@: |
|
- | 842 | ||
- | 843 | mov [eax + SOCKET.rcv_proc], SOCKET_receive_stream |
|
829 | 844 | ||
Line 830... | Line 845... | ||
830 | align 4 |
845 | align 4 |
Line 831... | Line 846... | ||
831 | SOCKET_receive_stream: |
846 | SOCKET_receive_stream: |
Line 947... | Line 962... | ||
947 | 962 | ||
948 | 963 | ||
Line 949... | Line -... | ||
949 | align 4 |
- | |
950 | SOCKET_send_local: |
- | |
951 | 964 | align 4 |
|
952 | DEBUGF 1,"SOCKET_send: LOCAL\n" |
965 | SOCKET_send_local: |
953 | 966 | ||
Line 954... | Line 967... | ||
954 | ; does this socket have a PID yet? |
967 | ; does this socket have a PID yet? |
955 | cmp [eax + SOCKET.PID], 0 |
968 | cmp [eax + SOCKET.PID], 0 |
956 | jne @f |
969 | jne @f |
957 | 970 | ||
958 | ; Change PID to that of current process |
971 | ; Change PID to that of current process |
- | 972 | mov ebx, [TASK_BASE] |
|
- | 973 | mov ebx, [ebx + TASKDATA.pid] |
|
- | 974 | mov [eax + SOCKET.PID], ebx |
|
- | 975 | @@: |
|
- | 976 | mov [eax + SOCKET.snd_proc], SOCKET_send_local_ |
|
- | 977 | ||
Line 959... | Line 978... | ||
959 | mov ebx, [TASK_BASE] |
978 | align 4 |
960 | mov ebx, [ebx + TASKDATA.pid] |
979 | SOCKET_send_local_: |
961 | mov [eax + SOCKET.PID], ebx |
980 | |
962 | @@: |
981 | DEBUGF 1,"SOCKET_send: LOCAL\n" |
Line 1127... | Line 1146... | ||
1127 | 1146 | ||
1128 | mov [eax + SOCKET.Domain], AF_LOCAL |
1147 | mov [eax + SOCKET.Domain], AF_LOCAL |
1129 | mov [eax + SOCKET.Type], SOCK_STREAM |
1148 | mov [eax + SOCKET.Type], SOCK_STREAM |
1130 | mov [eax + SOCKET.Protocol], 0 ;;; CHECKME |
1149 | mov [eax + SOCKET.Protocol], 0 ;;; CHECKME |
1131 | mov [eax + SOCKET.snd_proc], SOCKET_send_local |
1150 | mov [eax + SOCKET.snd_proc], SOCKET_send_local |
1132 | mov [eax + SOCKET.rcv_proc], SOCKET_receive_stream |
1151 | mov [eax + SOCKET.rcv_proc], SOCKET_receive_local |
Line 1133... | Line 1152... | ||
1133 | mov ebx, eax |
1152 | mov ebx, eax |
1134 | 1153 | ||
1135 | call SOCKET_alloc |
1154 | call SOCKET_alloc |
Line 1136... | Line 1155... | ||
1136 | jz .error |
1155 | jz .error |
1137 | mov [esp+24], edi ; application's ebx |
1156 | mov [esp+24], edi ; application's ebx |
1138 | 1157 | ||
1139 | mov [eax + SOCKET.Domain], AF_LOCAL |
1158 | mov [eax + SOCKET.Domain], AF_LOCAL |
1140 | mov [eax + SOCKET.Type], SOCK_STREAM |
1159 | mov [eax + SOCKET.Type], SOCK_STREAM |
Line 1141... | Line 1160... | ||
1141 | mov [eax + SOCKET.Protocol], 0 ;;; CHECKME |
1160 | mov [eax + SOCKET.Protocol], 0 ;;; CHECKME |
1142 | mov [eax + SOCKET.snd_proc], SOCKET_send_local |
1161 | mov [eax + SOCKET.snd_proc], SOCKET_send_local |
1143 | mov [eax + SOCKET.rcv_proc], SOCKET_receive_stream |
1162 | mov [eax + SOCKET.rcv_proc], SOCKET_receive_local |