History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg2/java/net (47 of 18352 files). Show all

Unified · Split

47 files
  1. java/pkg2/java/net/BindException.java +0 −0
  2. java/pkg2/java/net/ConnectException.java +0 −0
  3. java/pkg2/java/net/ContentHandler.java +0 −0
  4. java/pkg2/java/net/ContentHandlerFactory.java +0 −0
  5. java/pkg2/java/net/DatagramPacket.java +0 −0
  6. java/pkg2/java/net/DatagramPacket_L.m +16 −0
  7. java/pkg2/java/net/DatagramSocket.java +0 −0
  8. java/pkg2/java/net/DatagramSocketImpl.java +0 −0
  9. java/pkg2/java/net/DatagramSocketImpl_L.m +14 −0
  10. java/pkg2/java/net/FileNameMap.java +0 −0
  11. java/pkg2/java/net/HttpURLConnection.java +0 −0
  12. java/pkg2/java/net/InetAddress.java +0 −0
  13. java/pkg2/java/net/InetAddressImpl_L.b +218 −0
  14. java/pkg2/java/net/InetAddressImpl_L.m +17 −0
  15. java/pkg2/java/net/InetAddress_L.m +12 −0
  16. java/pkg2/java/net/MalformedURLException.java +0 −0
  17. java/pkg2/java/net/MulticastSocket.java +0 −0
  18. java/pkg2/java/net/NoRouteToHostException.java +0 −0
  19. java/pkg2/java/net/PlainDatagramSocketImpl..a +0 −0
  20. java/pkg2/java/net/PlainDatagramSocketImpl_L.b +695 −0
  21. java/pkg2/java/net/PlainDatagramSocketImpl_L.m +29 −0
  22. java/pkg2/java/net/PlainSocketImpl.java +0 −0
  23. java/pkg2/java/net/PlainSocketImpl_L.b +685 −0
  24. java/pkg2/java/net/PlainSocketImpl_L.m +30 −0
  25. java/pkg2/java/net/ProtocolException.java +0 −0
  26. java/pkg2/java/net/ServerSocket.java +0 −0
  27. java/pkg2/java/net/Socket.java +0 −0
  28. java/pkg2/java/net/SocketException.java +0 −0
  29. java/pkg2/java/net/SocketImpl.java +0 −0
  30. java/pkg2/java/net/SocketImplFactory.java +0 −0
  31. java/pkg2/java/net/SocketImpl_L.m +19 −0
  32. java/pkg2/java/net/SocketInputStream.java +0 −0
  33. java/pkg2/java/net/SocketInputStream_L.b +173 −0
  34. java/pkg2/java/net/SocketInputStream_L.m +17 −0
  35. java/pkg2/java/net/SocketOptions.java +0 −0
  36. java/pkg2/java/net/SocketOutputStream.java +0 −0
  37. java/pkg2/java/net/SocketOutputStream_L.b +95 −0
  38. java/pkg2/java/net/SocketOutputStream_L.m +16 −0
  39. java/pkg2/java/net/URL.java +0 −0
  40. java/pkg2/java/net/URLConnection.java +0 −0
  41. java/pkg2/java/net/URLEncoder.java +0 −0
  42. java/pkg2/java/net/URLStreamHandler.java +0 −0
  43. java/pkg2/java/net/URLStreamHandlerFactory.java +0 −0
  44. java/pkg2/java/net/UnknownHostException.java +0 −0
  45. java/pkg2/java/net/UnknownServiceException.java +0 −0
  46. java/pkg2/java/net/jnet.m +23 −0
  47. java/pkg2/java/net/mkfile +100 −0
java/pkg2/java/net/BindException.java+0−0

Empty file added.

java/pkg2/java/net/ConnectException.java+0−0

Empty file added.

java/pkg2/java/net/ContentHandler.java+0−0

Empty file added.

java/pkg2/java/net/ContentHandlerFactory.java+0−0

Empty file added.

java/pkg2/java/net/DatagramPacket.java+0−0

Empty file added.

java/pkg2/java/net/DatagramPacket_L.m+16−0
@@ -0,0 +1,16 @@
1# javal v1.5 generated file: edit with care
2
3DatagramPacket_L : module
4{
5 DatagramPacket_obj : adt
6 {
7 cl_mod : ClassModule;
8 buf : JArrayB;
9 length : int;
10 address : JObject;
11 port : int;
12 };
13
14 init : fn( jni_p : JNI );
15
16};
java/pkg2/java/net/DatagramSocket.java+0−0

Empty file added.

java/pkg2/java/net/DatagramSocketImpl.java+0−0

Empty file added.

java/pkg2/java/net/DatagramSocketImpl_L.m+14−0
@@ -0,0 +1,14 @@
1# generated file edit with care
2
3DatagramSocketImpl_L : module
4{
5 DatagramSocketImpl_obj : adt
6 {
7 cl_mod : ClassModule;
8 localPort : int;
9 fd : ref FileDescriptor_obj;
10 };
11
12 init : fn( jni_p : JNI );
13
14};
java/pkg2/java/net/FileNameMap.java+0−0

Empty file added.

java/pkg2/java/net/HttpURLConnection.java+0−0

Empty file added.

java/pkg2/java/net/InetAddress.java+0−0

Empty file added.

java/pkg2/java/net/InetAddressImpl_L.b+218−0
@@ -0,0 +1,218 @@
1implement InetAddressImpl_L;
2
3# javal v1.5 generated file: edit with care
4
5include "jni.m";
6 jni : JNI;
7 ClassModule,
8 JString,
9 JArray,
10 JArrayI,
11 JArrayC,
12 JArrayB,
13 JArrayS,
14 JArrayJ,
15 JArrayF,
16 JArrayD,
17 JArrayZ,
18 JArrayJObject,
19 JArrayJClass,
20 JArrayJString,
21 JClass,
22 JThread,
23 JObject : import jni;
24
25#>> extra pre includes here
26#<<
27
28include "InetAddressImpl_L.m";
29
30#>> extra post includes here
31
32include "InetAddress_L.m";
33 inet: InetAddress_L; # declare pointer to module name
34
35include "srv.m";
36 srv: Srv;
37
38sys: Sys;
39
40include "jnet.m";
41 jnet: JNET;
42
43DEBUG, AF_INET: import jnet;
44FD: import sys;
45InetAddress_obj: import inet; # import adt object for p0 ref
46Value: import jni;
47
48#<<
49
50init( jni_p : JNI )
51{
52 # save java native inteface mod instance
53 jni = jni_p;
54 #>>extra initialization here
55
56 sys = jni->sys;
57 if((srv = load Srv Srv->BUILTINPATH) == nil
58 && (srv = load Srv Srv->PATH) == nil)
59 jni->InitError( jni->sys->sprint( "java.net.InetAddressImpl: could not load Srv: %r" ) );
60
61 #<<
62}
63
64getLocalHostName_rString( this : ref InetAddressImpl_obj) : JString
65{#>>
66
67 fd: ref FD;
68 buf:= array[256] of byte;
69
70 if (DEBUG)
71 sys->print("Entering getLocalHostName\n");
72
73 fd = sys->open("/dev/sysname", sys->OREAD);
74
75 if (fd != nil )
76 n := sys->read(fd, buf, 256);
77 else
78 return jni->NewString("localhost");
79
80 if (n <= 0) {
81 return jni->NewString("localhost");
82 if (DEBUG)
83 sys->print(" Bad return from /dev/sysname\n");
84 }
85 if (DEBUG)
86 sys->print(" Name from dev/sysname: %s\n", string buf[0:n]);
87 return jni->NewString(string buf[0:n]);
88
89}
90#<<
91
92makeAnyLocalAddress_rInetAddress_V( this : ref InetAddressImpl_obj, p0 : JObject)
93{#>>
94
95 # p0 must be changed to a type InetAddress_obj in arg list
96 # Must include InetAddress_L.m also in this file.
97
98 if (DEBUG)
99 sys->print("Entering makeAnyLocalAddress\n");
100
101
102 #p0.address = jnet->INADDR_ANY;
103
104 val := ref Value.TInt( jnet->INADDR_ANY );
105 n := jni->SetObjField( p0, "address", val );
106 if (DEBUG )
107 sys->print("makeAnyLocalAddr: Return from SetObjField %d\n",n);
108
109 #p0.family = jnet->AF_INET;
110 val = ref Value.TInt( jnet->AF_INET );
111 n = jni->SetObjField( p0, "family", val );
112 if (DEBUG )
113 sys->print("makeAnyLocalAddr: Return from SetObjField %d\n",n);
114}#<<
115
116lookupAllHostAddr_rString_aaB( this : ref InetAddressImpl_obj, p0 : JString) : JArray
117{#>>
118
119 if (DEBUG)
120 sys->print("Entering lookupAllHostAddr\n");
121
122 iplist,AddrList: list of string;
123 hostname,str,temp: string;
124 j: int;
125
126 hostname = p0.str;
127 if (DEBUG)
128 sys->print("hostname is %s \n", p0.str);
129 AddrList = srv->iph2a(hostname);
130 if (DEBUG)
131 sys->print("InetAddressImpl:Got AddrList\n");
132
133
134 b:= array[len AddrList] of { array[jnet->IPADDRLEN] of byte };
135
136 if (AddrList != nil) {
137 for(i:=0;i<len AddrList;i++) {
138 str = hd AddrList;
139 if (DEBUG)
140 sys->print(" Addrlist hd = %s\n", str);
141 AddrList = tl AddrList;
142
143 # insure net byte ordered byte[][]
144 ( j, iplist ) = sys->tokenize( str, ".");
145 for (k:=0; k<j; k++) {
146 temp = hd iplist;
147 if (DEBUG)
148 sys->print("iplist hd = %s\n", temp);
149 iplist = tl iplist;
150 if (DEBUG)
151 sys->print("b[%d][%d]\n", i,k);
152 b[i][k] = byte temp;
153 if (DEBUG)
154 sys->print("InetAddressGetHostByName: tokenize b[%d][%d] = %d\n", i, k, int b[i][k]);
155 }
156 }
157 return jni->MkAAByte( b );
158 } else {
159 jni->ThrowException( "java.net.UnknownHostException", "Host unknown" );
160 return nil;
161 }
162
163}#<<
164
165getHostByAddr_I_rString( this : ref InetAddressImpl_obj, p0 : int) : JString
166{#>>
167
168 address: string;
169
170 # p0 is the address
171 # IPV4 only....
172
173
174 if (DEBUG)
175 sys->print("Entering getHostByAddr\n");
176
177 if( !p0 )
178 jni->ThrowException( "java.net.UnknownHostException",
179 "Gethostbyaddr Bad Address" );
180
181 if (DEBUG)
182 sys->print("GetHostByAddr: p0 = %d\n", p0);
183
184 b:= array[jnet->IPADDRLEN] of byte;
185
186 b[0] = byte ( p0 >> 24 );
187 b[1] = byte ( p0 >> 16 );
188 b[2] = byte ( p0 >> 8 );
189 b[3] = byte p0;
190
191 address = string b[0] + "." + string b[1] + "." + string b[2] + "." +
192 string b[3];
193
194 HostList := srv->ipa2h(address);
195
196 if ( len HostList == 0 ) {
197 if (DEBUG)
198 sys->print("GetHostByAddr: ipa2h returned nil on %s\n",
199 address);
200 jni->ThrowException( "java.net.UnknownHostException",
201 "Gethostbyaddr Bad Address" );
202 return nil;
203 }
204
205 return jni->NewString( string hd HostList );
206
207}#<<
208
209getInetFamily_I( this : ref InetAddressImpl_obj) : int
210{#>>
211
212 if (DEBUG)
213 sys->print("Entering getInetFamily\n");
214 #This is a nasty piece of work here...
215 return AF_INET;
216
217}#<<
218
java/pkg2/java/net/InetAddressImpl_L.m+17−0
@@ -0,0 +1,17 @@
1# javal v1.5 generated file: edit with care
2
3InetAddressImpl_L : module
4{
5 InetAddressImpl_obj : adt
6 {
7 cl_mod : ClassModule;
8 };
9
10 init : fn( jni_p : JNI );
11 getLocalHostName_rString : fn( this : ref InetAddressImpl_obj) : JString;
12 makeAnyLocalAddress_rInetAddress_V : fn( this : ref InetAddressImpl_obj, p0 : JObject);
13 lookupAllHostAddr_rString_aaB : fn( this : ref InetAddressImpl_obj, p0 : JString) : JArray;
14 getHostByAddr_I_rString : fn( this : ref InetAddressImpl_obj, p0 : int) : JString;
15 getInetFamily_I : fn( this : ref InetAddressImpl_obj) : int;
16
17};
java/pkg2/java/net/InetAddress_L.m+12−0
@@ -0,0 +1,12 @@
1# generated file edit with care
2
3InetAddress_L : module
4{
5 InetAddress_obj : adt
6 {
7 cl_mod : ClassModule;
8 hostName : JString;
9 address : int;
10 family : int;
11 };
12};
java/pkg2/java/net/MalformedURLException.java+0−0

Empty file added.

java/pkg2/java/net/MulticastSocket.java+0−0

Empty file added.

java/pkg2/java/net/NoRouteToHostException.java+0−0

Empty file added.

java/pkg2/java/net/PlainDatagramSocketImpl..a+0−0

Empty file added.

java/pkg2/java/net/PlainDatagramSocketImpl_L.b+695−0
@@ -0,0 +1,695 @@
1implement PlainDatagramSocketImpl_L;
2
3# javal v1.5 generated file: edit with care
4
5include "jni.m";
6 jni : JNI;
7 ClassModule,
8 JString,
9 JArray,
10 JArrayI,
11 JArrayC,
12 JArrayB,
13 JArrayS,
14 JArrayJ,
15 JArrayF,
16 JArrayD,
17 JArrayZ,
18 JArrayJObject,
19 JArrayJClass,
20 JArrayJString,
21 JClass,
22 JThread,
23 JObject : import jni;
24
25#>> extra pre includes here
26#<<
27
28include "PlainDatagramSocketImpl_L.m";
29
30#>> extra post includes here
31
32include "jnet.m";
33 jnet: JNET;
34
35include "java/io/FileDescriptor_L.m";
36 fildes: FileDescriptor_L;
37
38include "InetAddress_L.m";
39 inet: InetAddress_L;
40
41InetAddress_obj: import inet; #make sure p0 ref works properly
42
43include "DatagramPacket_L.m";
44 pkt: DatagramPacket_L;
45
46include "srv.m";
47 srv: Srv;
48
49sys: Sys;
50
51strp: String;
52
53c: Cast;
54
55
56DEBUG, AF_INET: import jnet;
57FD: import sys;
58DatagramPacket_obj: import pkt; #make sure p0 ref works properly
59FileDescriptor_obj: import fildes;
60Value: import jni;
61
62
63
64#<<
65
66init( jni_p : JNI )
67{
68 # save java native inteface mod instance
69 jni = jni_p;
70 #>>extra initialization here
71
72 sys = jni->sys;
73 strp = jni->str;
74 c = jni->CastMod();
75 if((srv = load Srv Srv->BUILTINPATH) == nil
76 && (srv = load Srv Srv->PATH) == nil)
77 jni->InitError( jni->sys->sprint( "java.net.PlainDatagramSocketImpl: could not load Srv: %r" ) );
78
79 #<<
80}
81
82bind_I_rInetAddress_V( this : ref PlainDatagramSocketImpl_obj, p0 : int,p1 : JObject)
83{#>>
84
85 fd: ref FD;
86 buf:= array[50] of byte;
87 byteary:= array[6] of byte;
88 i,n: int;
89 str: string;
90 arg: list of string;
91
92 # Create the localaddress/localport assoc to a socket......
93
94 # p1 is a ref to InetAddress_obj
95 # p0 is the localport
96
97 if (DEBUG)
98 sys->print("PlainDgramBind: Entering....\n");
99
100 if( this.cfd == nil ) {
101 if (DEBUG)
102 sys->print("Attempt to Bind using cfd = nil\n");
103 jni->ThrowException("java.net.SocketException",
104 "Socket closed");
105 }
106
107 # Check for address presence...
108 if (p1 == nil) {
109 if( DEBUG )
110 sys->print("PlainDgramSocketImplBind: No address given\n");
111 jni->ThrowException("java.lang.NullPointerException", "null Address" );
112 }
113
114 # assume IPv4...
115
116 v := jni->GetObjField( p1, "address", "I");
117
118 if (DEBUG && v == nil)
119 sys->print("DGrambind: GetObjField returned nil\n");
120 if (DEBUG)
121 sys->print("DGrambind: GetObjField done\n");
122 vl := v.Int();
123
124 b := array[jnet->IPADDRLEN] of byte;
125 b[0] = byte (vl >> 24 );
126 b[1] = byte (vl >> 16 );
127 b[2] = byte (vl >> 8 );
128 b[3] = byte vl;
129
130 if (p0)
131 str = "announce " + string b[0] + "." + string b[1] + "." +
132 string b[2] + "." + string b[3] + "!" +
133 string p0;
134 else
135 str = "announce " + string b[0] + "." + string b[1] +
136 + "." + string b[2] + "." + string b[3] ;
137
138
139 n = sys->write( this.cfd.fd, array of byte str, len str );
140
141 if( n <= 0 ) {
142 if (DEBUG)
143 sys->print( "Datagram %s to ctl file failed\n", str);
144 jni->ThrowException( "java.net.SocketException",
145 "Bind error");
146 }
147
148 str = "/net/" + "udp/" + string this.connection + "/local";
149 if (DEBUG)
150 sys->print( "PlainDatagramSocketBind: opening file %s to get local port\n", str);
151 fd = sys->open( str, sys->OREAD );
152 if ( fd == nil ) {
153 if (DEBUG)
154 sys->print( "PlainDatagramSocketBind: Open of local file returned nil fd\n");
155 jni->ThrowException( "java.net.SocketException",
156 "Bind local file open error");
157 }
158 n = sys->read( fd, buf, len buf);
159
160
161 if ( n <= 0 ) {
162 if (DEBUG)
163 sys->print( "PlainDatagramSocketBind: Read of local file returned %d\n", n);
164 jni->ThrowException( "java.net.SocketException",
165 "Bind local file read error");
166 }
167
168 ( i, arg) = sys->tokenize(string buf[0:n], "!");
169 arg = tl arg;
170
171 if (DEBUG)
172 sys->print( "PlainDatagramSocketBind: Returning port # %d\n", int hd arg);
173 this.localPort = int hd arg;
174
175 if (DEBUG)
176 sys->print("PlainDgramBind: Leaving....\n");
177
178}#<<
179
180send_rDatagramPacket_V( this : ref PlainDatagramSocketImpl_obj, p0 : JObject)
181{#>>
182 #p0 - Datagram Packet obj ref
183
184 b:= array[jnet->IPADDRLEN] of byte;
185 str: string;
186
187 if (DEBUG)
188 sys->print("PlainDgramsend: Entering....\n");
189
190 if (this.cfd == nil ) {
191 if (DEBUG)
192 sys->print( "PlainDatagramSocketSend: ref FileDescriptor_obj for cfd is nil\n");
193 jni->ThrowException( "java.net.SocketException",
194 "Socket closed");
195 }
196
197 if ( p0 == nil ) {
198 if (DEBUG)
199 sys->print( "PlainDatagramSocketSend: ref DatagramPacket_obj is nil\n");
200 jni->ThrowException( "java.lang.NullPointerException",
201 "Null DatagramPacket arg");
202 }
203
204 #Check buf field...
205 Pb := jni->GetObjField( p0, "buf", "[B");
206 if ( Pb == nil ) {
207 if (DEBUG)
208 sys->print( "PlainDatagramSocketSend: ref DatagramPacket_obj buf is nil\n");
209 jni->ThrowException( "java.lang.NullPointerException",
210 "Null DatagramPacket_obj buffer ref");
211 }
212 if (DEBUG)
213 sys->print("Dgramsend: GetObjField returned %x\n", Pb);
214
215 Pbvl := Pb.Object();
216 if (DEBUG)
217 sys->print("Dgramsend: GetObjField returned %x\n", Pbvl);
218
219
220 #Check address field....
221 if (DEBUG)
222 sys->print("DGramsend: Doing GetObjField Packet.address\n");
223 I := jni->GetObjField( p0, "address", "Ljava.net.InetAddress;");
224 if ( I == nil ) {
225 if (DEBUG)
226 sys->print( "PlainDatagramSocketSend: ref DatagramPacket_obj address is nil\n");
227 jni->ThrowException( "java.lang.NullPointerException",
228 "Null DatagramPacket_obj address ref");
229 }
230
231 #address is an InetAddress ref
232 Ivl := I.Object();
233 if (DEBUG)
234 sys->print("Dgramsend: GetObjField returned %x\n", Ivl);
235
236 if (DEBUG)
237 sys->print("DGramsend: Doing GetObjField Packet.address.address\n");
238 v := jni->GetObjField( Ivl, "address", "I");
239
240 if (DEBUG && v == nil)
241 sys->print("DGramsend: GetObjField returned nil\n");
242 vl := v.Int();
243
244 if (DEBUG)
245 sys->print("Dgramsend: GetObjField returned %d\n", vl);
246
247 b[0] = byte (vl >> 24);
248 b[1] = byte (vl >> 16);
249 b[2] = byte (vl >> 8);
250 b[3] = byte (vl);
251
252 a := string b[0]+"."+string b[1]+"."+string b[2]+
253 "."+string b[3];
254
255 # Check port....
256 if (DEBUG)
257 sys->print("DGramsend: Doing GetObjField Packet.port\n");
258 v = jni->GetObjField( p0, "port", "I");
259
260 if (DEBUG && v == nil)
261 sys->print("DGramsend: GetObjField returned nil\n");
262
263 vl = v.Int();
264 if (DEBUG)
265 sys->print("Dgramsend: GetObjField returned %d\n", vl);
266 if ( vl <= 0 )
267 str = "connect " + a;
268 else
269 str = "connect " + a + "!" + string vl;
270
271 if( DEBUG )
272 sys->print( "DGramsend: connect str = %s\n", str);
273
274 n := sys->write( this.cfd.fd, array of byte str, len array of byte str );
275 if( n <= 0 ) {
276 if (DEBUG)
277 sys->print( "DGramsend: connect cmd failed %d\n", n);
278 jni->ThrowException( "java.net.SocketException",
279 "Datagram send ctl file error");
280 }
281
282 #Get buf.ary field....
283 ar := c->ToJArrayB( Pbvl );
284 n = sys->write( this.fd.fd, ar.ary, len ar.ary);
285 if ( n <= 0 ) {
286 # set length to zero...
287 val := ref Value.TInt(0);
288 jni->SetObjField( p0, "length", val );
289 if (DEBUG)
290 sys->print( "PlainDatagramSocketSend: write of data file returned %d\n", n);
291 jni->ThrowException( "java.net.SocketException",
292 "Send: data file write error");
293 }
294
295 val := ref Value.TInt(n);
296 jni->SetObjField( p0, "length", val );
297
298 if (DEBUG)
299 sys->print("PlainDgramsend: Leaving...\n");
300
301}#<<
302
303peek_rInetAddress_I( this : ref PlainDatagramSocketImpl_obj, p0 : JObject) : int
304{#>>
305 if (DEBUG)
306 sys->print( "PlainDatagramSocketPeek: Unsupported entry.\n");
307 jni->ThrowException( "java.net.SocketException",
308 "Peek: Unsupported option");
309 return -1;
310}#<<
311
312receive_rDatagramPacket_V( this : ref PlainDatagramSocketImpl_obj, p0 : JObject)
313{#>>
314
315 # p0 = ref DatagramPacket
316
317 str,temp: string;
318 st: list of string;
319 m: int;
320
321
322
323 if (DEBUG)
324 sys->print("PlainDgramreceive: Entering...\n");
325
326 if (this.cfd == nil ) {
327 if (DEBUG)
328 sys->print( "PlainDatagramSocketRead: ref FileDescriptor_obj for cfd is nil\n");
329 jni->ThrowException( "java.net.SocketException",
330 "Socket closed");
331 }
332
333 if ( p0 == nil ) {
334 if (DEBUG)
335 sys->print( "PlainDatagramSocketRead: ref DatagramPacket_obj is nil\n");
336 jni->ThrowException( "java.lang.NullPointerException",
337 "Null DatagramPacket_obj ref");
338 }
339
340 #Check buf field...
341 Pb := jni->GetObjField( p0, "buf", "[B");
342 if ( Pb == nil ) {
343 if (DEBUG)
344 sys->print( "PlainDatagramSocketRecv: ref DatagramPacket_obj buf is nil\n");
345 jni->ThrowException( "java.lang.NullPointerException",
346 "Null DatagramPacket_obj buffer ref");
347 }
348 if (DEBUG)
349 sys->print("DgramRecv: GetObjField returned %x\n", Pb);
350
351 Pbvl := Pb.Object();
352 if (DEBUG)
353 sys->print("DgramRecv: GetObjField returned %x\n", Pbvl);
354
355 #Get buf.ary field....
356 ar := c->ToJArrayB( Pbvl );
357
358 n := sys->read( this.fd.fd, ar.ary, len ar.ary);
359 val := ref Value.TInt(n);
360 jni->SetObjField( p0, "length", val );
361
362 if ( n < 0 ) {
363 if (DEBUG)
364 sys->print( "PlainDatagramSocketRead: read of data file returned %d\n", n);
365 jni->ThrowException( "java.net.SocketException",
366 "PlainDatagramSocketReceive: data file read error");
367 }
368
369 if (DEBUG)
370 sys->print( "PlainDatagramSocketReceive: read of data file: %s\n", string ar.ary[0:n]);
371
372 # Timeout logic...
373 if( this.timeout != 0 ) {
374 temp = jnet->timeout + " " + string this.timeout;
375 rc := sys->write(this.cfd.fd, array of byte temp,
376 len array of byte temp);
377 if (DEBUG)
378 sys->print("DatagramSocketImplReceive: fixing timeout value %s\n", string this.timeout);
379 if ( rc <= 0 )
380 jni->ThrowException("java.net.SocketException",
381 "DatagramSocketImplReceive: Unable to set timeout");
382 }
383
384 # Check status file for timeout...
385
386 buf:= array[256] of byte;
387
388 temp = "/net/udp/" + string this.connection + "/status";
389 sfd := sys->open( temp, sys->OREAD );
390 if (sfd == nil ) {
391 if (DEBUG)
392 sys->print( "DatagramSocketImplReceive: Open of status file %s returned nil fd\n", temp);
393 jni->ThrowException( "java.net.SocketException",
394 "DatagramSocketImplReceive: Read failed");
395 }
396
397 k := sys->read(sfd, buf, len buf);
398
399 if ( k <= 0 ) {
400 if (DEBUG)
401 sys->print("DgramReceive: status file read: %d\n", n);
402 jni->ThrowException( "java.net.SocketException",
403 "DatagramSocketImplReceive: status file read failed");
404 }
405
406
407 if (DEBUG)
408 sys->print("DgramSocketreceive: Got status: %s\n", string buf[0:k]);
409
410 (m, st) = sys->tokenize( string buf[:k], " \n\t");
411
412 if ( m != 0 )
413 for(i:=0;i<m;i++) {
414 str = hd st;
415 if ( strp->prefix( str, "timed-out" )) {
416 if (DEBUG)
417 sys->print( "DatagramSocketImplReceive: timeout\n");
418 jni->ThrowException("java.io.InterruptedIOException",
419 "DatagramSocketImplReceive: Read timed out.");
420 }
421 st = tl st;
422 }
423 else
424 if (DEBUG)
425 sys->print( "DatagramSocketImplReceive: Can't tokenize\n");
426
427
428 if (DEBUG)
429 sys->print( "DatagramSocketImplReceive: Doing NewObject\n");
430 # Default constructor...
431 I_obj := jni->NewObject( jni->FindClass( "java/net/InetAddress" ));
432
433 if (DEBUG)
434 sys->print( "DatagramSocketImplReceive: NewObject Done\n");
435 str = "/net/" + "udp/" + string this.connection + "/remote";
436 fd := sys->open(str, sys->OREAD);
437
438 if ( fd == nil ) {
439 if (DEBUG)
440 sys->print("Dgramreceive: Can't open %s\n", str);
441 jni->ThrowException( "java.net.SocketException",
442 "DatagramSocketImplreceive: Unable to obtain remote fd\n");
443 }
444
445 n = sys->read(fd, buf, len buf);
446
447 if (n <= 0) {
448 if (DEBUG)
449 sys->print("DgramSocketreceive: Can't read %s\n", str);
450 jni->ThrowException( "java.net.SocketException",
451 "DatagramSocketImplreceive: Unable to obtain remote addr\n");
452 }
453
454 if (DEBUG)
455 sys->print("DgramSocketreceive: Remote file read has %s\n", string buf[0:n]);
456
457 (m, st) = sys->tokenize( string buf[:n], "!");
458 if ( m == 0 ) {
459 if (DEBUG)
460 sys->print("DgramSocketReceive: Can't tokenize %s\n", str);
461 jni->ThrowException( "java.net.SocketException",
462 "DatagramSocketImplReceive: Unable to tokenize remote\n");
463 }
464
465 str = hd st;
466 st = tl st;
467
468 iplist: list of string;
469 ( i, iplist ) = sys->tokenize( str, ".");
470 if (DEBUG)
471 sys->print("DgramSocketreceive: tokenize iplist i = %d\n", i);
472 b:= array[len iplist] of byte;
473 for (j:=0; j<i; j++) {
474 temp = hd iplist;
475 iplist = tl iplist;
476 b[j] = byte temp;
477 }
478
479 i = 0;
480 i |= int b[0] <<24;
481 i |= int b[1] <<16;
482 i |= int b[2] <<8;
483 i |= int b[3];
484 if (DEBUG )
485 sys->print("DgramSocketreceive: shifted remote addr = %d\n",i);
486
487 val = ref Value.TInt( int hd st );
488 n = jni->SetObjField( p0, "port", val );
489 if (DEBUG )
490 sys->print("DgramSocketRecv: Return from SetObjField port %d\n",n );
491
492 nval := ref Value.TObject( I_obj );
493 n = jni->SetObjField( p0, "address", nval );
494 if (DEBUG )
495 sys->print("DgramSocketRecv: Return from SetObjField addr %d\n",n );
496
497 if (DEBUG )
498 sys->print("DgramSocketRecv: Finished setting InetAddr ref\n" );
499
500 val = ref Value.TInt( i );
501 n = jni->SetObjField( I_obj, "address", val );
502 if (DEBUG )
503 sys->print("DgramSocketRecv: Return from Inetaddr addr SetObjField %d\n",n );
504
505 val = ref Value.TInt( jnet->AF_INET );
506 n = jni->SetObjField( I_obj, "family", val );
507 if (DEBUG )
508 sys->print("DgramSocketRecv: Return from family SetObjField %d\n",n );
509
510 if (DEBUG)
511 sys->print("PlainDgramRecv: Leaving...\n");
512
513}#<<
514
515setTTL_B_V( this : ref PlainDatagramSocketImpl_obj, p0 : int)
516{#>>
517 if (DEBUG)
518 sys->print( "PlainDatagramSocketSetTTL: Unsupported.\n");
519 jni->ThrowException( "java.net.SocketException",
520 "setTTL: Unsupported option");
521}#<<
522
523getTTL_B( this : ref PlainDatagramSocketImpl_obj) : int
524{#>>
525 if (DEBUG)
526 sys->print( "PlainDatagramSocketGetTTL: Unsupported.\n");
527 jni->ThrowException( "java.net.SocketException",
528 "getTTL: Unsupported option");
529 return -1;
530}#<<
531
532join_rInetAddress_V( this : ref PlainDatagramSocketImpl_obj, p0 : JObject)
533{#>>
534 if (DEBUG)
535 sys->print( "PlainDatagramSocketJoin: Unsupported.\n");
536 jni->ThrowException( "java.net.SocketException",
537 "Join: Unsupported option");
538}#<<
539
540leave_rInetAddress_V( this : ref PlainDatagramSocketImpl_obj, p0 : JObject)
541{#>>
542 if (DEBUG)
543 sys->print( "PlainDatagramSocketLeave: Unsupported.\n");
544 jni->ThrowException( "java.net.SocketException",
545 "Leave: Unsupported option");
546}#<<
547
548datagramSocketCreate_V( this : ref PlainDatagramSocketImpl_obj)
549{#>>
550
551 dir: string;
552 cfd: ref FD;
553
554 if (DEBUG)
555 sys->print("DgramCreate: Entering...\n");
556
557 #Open clone device and allocate a connection
558 dir = "/net/udp/clone";
559 cfd = sys->open(dir, sys->ORDWR);
560 if (cfd == nil) {
561 if( DEBUG )
562 sys->print( "DgramCreate: Unable to open clone device\n");
563 jni->ThrowException( "java.net.SocketException",
564 "Unable to create socket");
565 }
566
567 #The following gets a connection number string
568 buf := array[10] of byte;
569 n := sys->read(cfd, buf, len buf);
570 if (n < 0) {
571 if (DEBUG)
572 sys->print("DgramCreate: Ctl file read returned no connection num!\n");
573 jni->ThrowException( "java.net.SocketException",
574 "Unable to create socket");
575 }
576
577 if (DEBUG)
578 sys->print("DgramCreate: ctl read connection #: %s\n",
579 string buf[:n]);
580
581 if (DEBUG)
582 sys->print("DgramCreate: Storing cfd #\n");
583 this.cfd.fd = cfd;
584 r := string buf[:n];
585 if (DEBUG)
586 sys->print("DgramCreate: Storing conn #\n");
587 this.connection = int r;
588
589 #Open data file and get a handle...
590 dir = "/net/" + "udp/" + string this.connection + "/data";
591 cfd = sys->open(dir, sys->ORDWR);
592 if (cfd == nil) {
593 if( DEBUG )
594 sys->print( "DatagramCreate: Unable to open %s\n", dir);
595 jni->ThrowException( "java.net.SocketException",
596 "Unable to create socket");
597 }
598 if (DEBUG)
599 sys->print("DgramCreate: Storing fd #\n");
600 this.fd.fd = cfd;
601}#<<
602
603datagramSocketClose_V( this : ref PlainDatagramSocketImpl_obj)
604{#>>
605
606 if (DEBUG)
607 sys->print( "In socket close routine");
608 this.fd = nil;
609 this.cfd = nil;
610
611
612}#<<
613
614socketSetOption_I_rObject_V( this : ref PlainDatagramSocketImpl_obj, p0 : int,p1 : JObject)
615{#>>
616
617 if( p0 == jnet->IP_MULTICAST_IF ){
618 if (DEBUG)
619 sys->print("PlainDatagramSocketImplSetOption: MULTICAST");
620 jni->ThrowException("java.net.SocketException",
621 "invalid DatagramSocket Option");
622 }
623}#<<
624
625socketGetOption_I_I( this : ref PlainDatagramSocketImpl_obj, p0 : int) : int
626{#>>
627
628 # p0 = option
629
630 buf := array[256] of byte;
631 temp, str: string;
632 iplist, st: list of string;
633 m,i : int;
634
635 ctype := "udp";
636 if (DEBUG)
637 sys->print("PlainDatagramSocketImplGetOption: Entering...\n");
638
639 if ( this.fd == nil ) {
640 if (DEBUG)
641 sys->print("PlainDatagramSocketImplGetOption: Null this.fd\n");
642 jni->ThrowException("java.net.SocketException", "Socket Closed");
643 }
644
645 if( p0 == jnet->IP_MULTICAST_IF ) {
646 if (DEBUG)
647 sys->print("PlainDatagramSocketImplGetOption: MULTICAST");
648 jni->ThrowException("java.net.SocketException", "invalid DatagramSocket Option");
649 } else if ( p0 == jnet->SO_BINADDR ) {
650 if (DEBUG)
651 sys->print("PlainDatagramSocketImplGetOption: BINADDR");
652 sfd := sys->open("/dev/sysname", sys->OREAD);
653 if(( m = sys->read(sfd, buf, len buf)) < 0 ) {
654 if (DEBUG)
655 sys->print("DatagramSocketGetOpt: SO_BINADDR: /dev/sysna me read failed\n");
656 return -1;
657 }
658 st = srv->iph2a(string buf[0:m]);
659 if (st == nil) {
660 if (DEBUG)
661 sys->print("DsockGetOpt: iph2a returned nil list\n");
662 jni->ThrowException( "java.net.SocketException",
663 "socketGetOption: SO_BINADDR: Unable to get local addres s");
664 }
665 str = hd st;
666 if (DEBUG)
667 sys->print("socketGetOption: st hd = %s\n", str);
668 # insure net byte ordered byte[]
669 ( i, iplist ) = sys->tokenize( str, ".");
670 if (DEBUG)
671 sys->print("socketGetOption: iplist tokenize i = %d\n", i);
672 b:= array[len iplist] of byte;
673 for (j:=0; j<i; j++) {
674 temp = hd iplist;
675 iplist = tl iplist;
676 b[j] = byte temp;
677 }
678 i=0;
679 i |= int ( b[0] << 24) ;
680 i |= int ( b[1] << 16 );
681 i |= int ( b[2] << 8 );
682 i |= int ( b[3] );
683 if (DEBUG )
684 sys->print("DgramSocketGetOpt: BINADDR = %d\n", i);
685 return i;
686 } else
687 jni->ThrowException( "java.net.SocketException",
688 "DatagramSocketGetOption: Unsupported Option.");
689 if (DEBUG)
690 sys->print("PlainDatagramSocketImplGetOption: Leaving...\n");
691
692 return -1;
693}#<<
694
695
java/pkg2/java/net/PlainDatagramSocketImpl_L.m+29−0
@@ -0,0 +1,29 @@
1# javal v1.5 generated file: edit with care
2
3PlainDatagramSocketImpl_L : module
4{
5 PlainDatagramSocketImpl_obj : adt
6 {
7 cl_mod : ClassModule;
8 localPort : int;
9 fd : ref FileDescriptor_obj;
10 cfd : ref FileDescriptor_obj;
11 connection : int;
12 timeout : int;
13 };
14
15 init : fn( jni_p : JNI );
16 bind_I_rInetAddress_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : int,p1 : JObject);
17 send_rDatagramPacket_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : JObject);
18 peek_rInetAddress_I : fn( this : ref PlainDatagramSocketImpl_obj, p0 : JObject) : int;
19 receive_rDatagramPacket_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : JObject);
20 setTTL_B_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : int);
21 getTTL_B : fn( this : ref PlainDatagramSocketImpl_obj) : int;
22 join_rInetAddress_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : JObject);
23 leave_rInetAddress_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : JObject);
24 datagramSocketCreate_V : fn( this : ref PlainDatagramSocketImpl_obj);
25 datagramSocketClose_V : fn( this : ref PlainDatagramSocketImpl_obj);
26 socketSetOption_I_rObject_V : fn( this : ref PlainDatagramSocketImpl_obj, p0 : int,p1 : JObject);
27 socketGetOption_I_I : fn( this : ref PlainDatagramSocketImpl_obj, p0 : int) : int;
28
29};
java/pkg2/java/net/PlainSocketImpl.java+0−0

Empty file added.

java/pkg2/java/net/PlainSocketImpl_L.b+685−0
@@ -0,0 +1,685 @@
1implement PlainSocketImpl_L;
2
3include "jni.m";
4 jni : JNI;
5 ClassModule,
6 JString,
7 JArray,
8 JArrayI,
9 JArrayC,
10 JArrayB,
11 JArrayS,
12 JArrayJ,
13 JArrayF,
14 JArrayD,
15 JArrayZ,
16 JArrayJObject,
17 JArrayJClass,
18 JArrayJString,
19 JClass,
20 JObject : import jni;
21
22#>> extra pre includes here
23#<<
24
25include "PlainSocketImpl_L.m";
26
27#>> extra post includes here
28
29include "jnet.m";
30 jnet: JNET;
31
32include "java/io/FileDescriptor_L.m";
33 fildes: FileDescriptor_L;
34
35include "InetAddress_L.m";
36 inet: InetAddress_L;
37
38include "srv.m";
39 srv: Srv;
40
41
42FileDescriptor_obj: import fildes;
43InetAddress_obj: import inet;
44
45# This next file was once generated by javal, now it must be hand crafted.
46include "SocketImpl_L.m";
47 sock: SocketImpl_L;
48
49 sys: Sys;
50
51 strp: String;
52
53DEBUG: import jnet;
54FD: import sys;
55SocketImpl_obj: import sock;
56Value: import jni;
57
58#<<
59
60init( jni_p : JNI )
61{
62 # save java native inteface mod instance
63 jni = jni_p;
64 #>>extra initialization here
65
66 sys = jni->sys;
67 strp = jni->str;
68 if((srv = load Srv Srv->BUILTINPATH) == nil
69 && (srv = load Srv Srv->PATH) == nil)
70 jni->InitError( jni->sys->sprint( "java.net.PlainSocketImpl: could not load Srv: %r" ) );
71
72 #<<
73}
74
75socketCreate_Z_V( this : ref PlainSocketImpl_obj, p0 : int)
76{#>>
77
78 cfd,fd: ref FD;
79 dir,ctype: string;
80
81 if (DEBUG)
82 sys->print("Entering socketCreate\n");
83
84 # Set socket ctype...
85 if ( p0 ) {
86 ctype = "tcp";
87 this.ctype = jnet->SOCK_STREAM;
88 } else {
89 ctype = "udp";
90 this.ctype = jnet->SOCK_DGRAM;
91 }
92
93 #Open clone device and allocate a connection
94 dir = "/net/" + ctype + "/clone";
95 cfd = sys->open(dir, sys->ORDWR);
96 if (cfd == nil) {
97 if( DEBUG )
98 sys->print( "Unable to open clone device\n");
99 jni->ThrowException( "java.net.SocketException",
100 "Unable to create socket");
101 }
102 this.cfd.fd = cfd;
103
104 buf := array[10] of byte;
105 n := sys->read(cfd, buf, len buf);
106 if (n < 0) {
107 if (DEBUG)
108 sys->print("socketCreate bad ctl file read\n");
109 jni->ThrowException( "java.net.SocketException",
110 "socketCreate: Unable to create socket");
111 }
112 if (DEBUG)
113 sys->print("socketCreate: ctl read connection #: %s\n", string buf[0:n]);
114 s := string buf[:n];
115
116 if (DEBUG)
117 sys->print("socketCreate: s is %s\n", s );
118 this.connection = int s;
119
120 # Populate data fd........
121 dir = "/net/" + ctype + "/" + string this.connection + "/data";
122 if (DEBUG)
123 sys->print("socketCreate: data dir: %s\n", dir);
124 fd = sys->open(dir, sys->ORDWR);
125
126 if ( fd == nil ) {
127 if (DEBUG)
128 sys->print("socketCreate: Attempt to open %s - no fd returned\n", dir);
129 jni->ThrowException( "java.net.SocketException",
130 "Connect error: can't open connection");
131 }
132
133 this.fd.fd = fd;
134
135 if (DEBUG)
136 sys->print("socketCreate: leaving \n");
137}#<<
138
139socketConnect_rInetAddress_I_V( this : ref PlainSocketImpl_obj, p0 : ref InetAddress_obj,p1 : int)
140{#>>
141 b:= array[4] of byte;
142 buf:= array[50] of byte;
143 port,str,ctype: string;
144 arg: list of string;
145 i,n: int;
146 fd: ref FD;
147
148 if (DEBUG)
149 sys->print("socketConnect: entering.. \n");
150 # Get network ctype and address and port.......
151
152 # Note p0 is an InetAddress_obj ref.....
153 if ( p0 != nil ) {
154 b[0] = byte (p0.address >> 24);
155 b[1] = byte (p0.address >> 16);
156 b[2] = byte (p0.address >> 8);
157 b[3] = byte (p0.address);
158 str = string b[0]+"."+string b[1]+"."+string b[2]+
159 "."+string b[3];
160 if( DEBUG ) {
161 sys->print( "socketConnect: byte array = %s\n", str );
162 }
163 } else {
164 if( DEBUG )
165 sys->print( "socketConnect: InetAddress ref = nil!\n");
166 jni->ThrowException( "java.lang.NullPointerException",
167 "Null InetAddress");
168 }
169
170 if (this.ctype == jnet->SOCK_STREAM)
171 ctype = "tcp";
172 else
173 ctype = "udp";
174
175
176 # port is the third arg...
177 if (p1>0)
178 port = string p1;
179 else {
180 if( DEBUG )
181 sys->print( "socketConnect: No server port arg provided\n");
182 jni->ThrowException( "java.net.SocketException",
183 "No port argument");
184 }
185
186 # Make string to write to ctl and issue connect....
187
188 cstr := "connect " + str + "!" + port;
189 if( DEBUG )
190 sys->print( "socketConnect: connect str = %s\n", cstr);
191 if ( this.cfd != nil )
192 n = sys->write( this.cfd.fd, array of byte cstr,
193 len array of byte cstr );
194 else {
195 if (DEBUG)
196 sys->print("socketConnect: ctl fd == nil!\n");
197 jni->ThrowException( "java.lang.NullPointerException",
198 "socketConnect: ctl file fd nil");
199 }
200
201 if( n <= 0 ) {
202 if (DEBUG)
203 sys->print( "Connect cmd to ctl file returned bad byte count %d\n",n);
204 jni->ThrowException( "java.net.SocketException",
205 "Connect write error");
206 }
207 this.address = p0;
208 this.port = p1;
209
210 # Populate local port........
211
212 if (this.localport == 0) { # If there was no bind
213 cstr = "/net/"+ctype+"/"+string this.connection+"/local";
214 fd = sys->open(cstr, sys->OREAD);
215 if ( fd == nil ) {
216 if (DEBUG)
217 sys->print("socketConnect: Open %s failed.\n",
218 cstr );
219 jni->ThrowException( "java.net.SocketException",
220 "Connect error");
221 }
222 n = sys->read( fd, buf, len buf );
223 if ( n <= 0 ) {
224 if (DEBUG)
225 sys->print("Connect Error: Read of %s returned %d\n", cstr ,n );
226 jni->ThrowException( "java.net.SocketException",
227 "Connect error");
228 }
229
230 if (DEBUG)
231 sys->print("socketConnect: Read of %s returned %s\n",
232 cstr, string buf[:n]);
233 ( i, arg) = sys->tokenize(string buf[0:n], "!");
234 if (i == 0) {
235 if (DEBUG)
236 sys->print("Connect Error: tokenize of /local");
237 jni->ThrowException( "java.net.SocketException",
238 "Connect error");
239 }
240 arg = tl arg;
241 str = hd arg;
242 if (DEBUG)
243 sys->print("socketConnect: Tokenize for local port returned %s\n", str);
244 this.localport = int str;
245 }
246}#<<
247
248socketBind_rInetAddress_I_V( this : ref PlainSocketImpl_obj, p0 : ref InetAddress_obj,p1 : int)
249{#>>
250
251 buf:= array[50] of byte;
252 b := array[jnet->IPADDRLEN] of byte;
253 i: int;
254 arg: list of string;
255
256 if (DEBUG)
257 sys->print("Entering socketBind\n");
258
259 # Create the localaddress/localport assoc to a socket......
260
261 # Note p0 is a ref to InetAddress_obj
262 # The ip address was shifted in previously so...
263 # IPV4 only....
264 if ( p0 != nil ) {
265 if (DEBUG)
266 sys->print( "socketBind: p0.address = %d\n",p0.address);
267 b[0] = byte (p0.address >> 24);
268 b[1] = byte (p0.address >> 16);
269 b[2] = byte (p0.address >> 8);
270 b[3] = byte (p0.address);
271 x := string b[0]+"."+string b[1]+"."+string b[2]+
272 "."+string b[3];
273 if (DEBUG)
274 sys->print("socketBind: Bind using %s \n", x);
275 } else
276 jni->ThrowException( "java.lang.NullPointerException",
277 "Null InetAddress");
278
279 if( this.fd == nil ) {
280 if (DEBUG)
281 sys->print("Attempt to Bind using cfd = nil\n");
282 jni->ThrowException("java.net.SocketException", "Null Socket");
283 }
284
285 # bind is announce
286
287 if (p1)
288 str := "announce " + string b[0] + "." + string b[1] +
289 + "." + string b[2] + "." +
290 string b[3] + "!" + string p1;
291 else
292 str = "announce " + string b[0] + "." + string b[1] +
293 + "." + string b[2] + "." + string b[3] ;
294
295 if( DEBUG )
296 sys->print("socketBind: announce port is: %s\n", string p1);
297
298
299 n := sys->write( this.cfd.fd, array of byte str, len array of byte str );
300
301 if( n <= 0 ) {
302 if (DEBUG)
303 sys->print( "socketBind: %s to ctl failed\n", str);
304 jni->ThrowException( "java.net.SocketException",
305 "Bind error");
306 }
307
308 # Populate local port........
309 if (this.ctype == jnet->SOCK_STREAM)
310 ctype := "tcp";
311 else
312 ctype = "udp";
313
314 cstr := "/net/"+ctype+"/"+string this.connection+"/local";
315 fd := sys->open(cstr, sys->OREAD);
316 if ( fd == nil ) {
317 if (DEBUG)
318 sys->print("socketBind: Open %s failed.\n",
319 cstr );
320 jni->ThrowException( "java.net.SocketException",
321 "Bind error");
322 }
323 n = sys->read( fd, buf, len buf );
324 if ( n <= 0 ) {
325 if (DEBUG)
326 sys->print("Bind Error: Read of %s returned %d\n", cstr ,n );
327 jni->ThrowException( "java.net.SocketException",
328 "Bind error - opening /local");
329 }
330
331 if (DEBUG)
332 sys->print("socketConnect: Read of %s returned %s\n",
333 cstr, string buf[:n]);
334 ( i, arg) = sys->tokenize(string buf[0:n], "!");
335 if (i == 0) {
336 if (DEBUG)
337 sys->print("Bind Error: tokenize of /local");
338 jni->ThrowException( "java.net.SocketException",
339 "Bind error");
340 }
341 arg = tl arg;
342 str = hd arg;
343 if (DEBUG)
344 sys->print("socketBind: Tokenize for local port returned %s\n", str);
345 this.localport = int str;
346 this.address = p0;
347}#<<
348
349socketListen_I_V( this : ref PlainSocketImpl_obj, p0 : int)
350{#>>
351
352 # Maybe should just return here max q is always 5......
353 if (DEBUG)
354 sys->print( "In socket listen routine\n");
355
356}#<<
357
358socketAccept_rSocketImpl_V( this : ref PlainSocketImpl_obj, p0 : ref SocketImpl_obj )
359{#>>
360 # p0 is a ref to SocketImpl_obj
361
362 ctype,dir: string;
363 buf := array[200] of byte;
364 str: string;
365 st: list of string;
366 m,n : int;
367
368 if (DEBUG)
369 sys->print( "In socketAccept\n");
370
371 if ( p0 == nil ) {
372 if( DEBUG )
373 sys->print( "socketAccept: PlainSocketImpl ref = nil!\n");
374 jni->ThrowException( "java.lang.NullPointerException",
375 "Null Socket Ptr");
376 }
377
378 if (this.ctype == jnet->SOCK_STREAM)
379 ctype = "tcp";
380 else
381 ctype = "udp";
382
383 if( this.timeout != 0 ) {
384 temp:= jnet->timeout + " " + string this.timeout;
385 if (DEBUG)
386 sys->print("socketAccept: writing to ctl: %s\n", temp);
387 if ( this.cfd != nil )
388 rc := sys->write(this.cfd.fd, array of byte temp,
389 len array of byte temp);
390 else {
391 if (DEBUG)
392 sys->print("socketAccept: ctl fd is nil\n");
393 jni->ThrowException( "java.lang.NullPointerException",
394 "Null CTL FD");
395 }
396
397
398 if (DEBUG)
399 sys->print("socketAccept: wrote to ctl: %s\n", temp);
400 if ( rc <= 0 ) {
401 if (DEBUG)
402 sys->print("socketAccept: Bad write to ctl: %s\n", temp);
403 jni->ThrowException("java.net.SocketException",
404 "socketAccept: Unable to set timeout");
405 }
406 }
407
408 dir = "/net/" + ctype + "/" + string this.connection + "/listen";
409 if ((lfd := sys->open(dir, sys->ORDWR)) == nil ) {
410 if (DEBUG)
411 sys->print( "Open of listen file %s returned nil fd\n", dir);
412 jni->ThrowException( "java.net.SocketException",
413 "socketAccept: accept failed");
414 }
415
416 # Check status file to see if timed out...
417 dir = "/net/" + ctype + "/" + string this.connection + "/status";
418 if ((sfd := sys->open(dir, sys->OREAD)) == nil ) {
419 if (DEBUG)
420 sys->print( "socketAccept: Open of status file %s returned nil fd\n", dir);
421 jni->ThrowException( "java.net.SocketException",
422 "socketAccept: status file open failed");
423 }
424
425 n = sys->read(sfd, buf, len buf);
426 if ( n <= 0 ) {
427 if (DEBUG)
428 sys->print("socketAccept: status file read: %d\n", n);
429 jni->ThrowException( "java.net.SocketException",
430 "socketAccept: status file read failed");
431 }
432
433 if (DEBUG)
434 sys->print("socketAccept: Got status: %s\n", string buf[0:n]);
435 (m, st) = sys->tokenize( string buf[:n], " \t\n");
436
437 for(i:=0;i<m;i++) {
438 str = hd st;
439 if ( strp->prefix( str, "timed-out" )) {
440 if (DEBUG)
441 sys->print( "socketAccept: Status is timeout\n");
442 jni->ThrowException("java.io.InterruptedIOException",
443 "socketAccept: accept timed out.");
444 }
445 st = tl st;
446 }
447
448 # Need to save the dfd and cfd. Note SocketImpl is abstract...
449 if (DEBUG)
450 sys->print( "socketAccept: Storing fd from listen in SocketImpl_obj\n");
451 # Get connection...
452 n = sys->read(lfd, buf, len buf);
453 if (n <= 0) {
454 if (DEBUG)
455 sys->print(" SocketAccept: ctl file read bad return code\n");
456 jni->ThrowException( "java.net.SocketException",
457 "socketAccept: Unable to accept socket");
458 }
459
460 if (DEBUG)
461 sys->print("socketAccept: listen ctl conn #: %s\n", string buf[0:n]);
462
463 s := string buf[0:n];
464 if (DEBUG)
465 sys->print("socketAccept: storing connection number = %d in SocketImpl.\n", int s );
466 p0.connection = int s; # save connection number
467 if (DEBUG)
468 sys->print("socketAccept: storing connection ctype = %d in SocketImpl.\n", this.ctype );
469 p0.ctype = this.ctype; # save connection ctype
470
471 dir = "/net/" + ctype + "/" + string p0.connection + "/data";
472 if ((fd := sys->open( dir, sys->ORDWR)) == nil ) {
473 if (DEBUG)
474 sys->print(" SocketAccept: open of %s failed\n", dir);
475
476 jni->ThrowException( "java.net.SocketException",
477 "Unable to open accepted socket");
478 }
479 if (DEBUG)
480 sys->print("SocketAccept: About to store dfd in SocketImpl fd (abstract class)\n");
481 p0.fd.fd = fd; #Store data file fd.....
482
483 if (DEBUG)
484 sys->print(" socketAccept: storing accepted cfd now\n" );
485 p0.cfd.fd = lfd; # store in class...
486
487}#<<
488
489socketAvailable_I( this : ref PlainSocketImpl_obj) : int
490{#>>
491
492 if (DEBUG)
493 sys->print( "In socket available routine\n");
494 jni->ThrowException( "java.io.IOException", "socketAvailable: Unsupported function" );
495 return -1;
496
497}#<<
498
499socketClose_V( this : ref PlainSocketImpl_obj)
500{#>>
501 if (DEBUG)
502 sys->print( "In socket close routine\n");
503 this.fd = nil;
504 this.cfd = nil;
505 this = nil;
506
507}#<<
508
509initProto_V( )
510{#>>
511 if (DEBUG)
512 sys->print( "In initProto routine\n");
513 return;
514}#<<
515
516socketSetOption_I_Z_rObject_V( this : ref PlainSocketImpl_obj, p0 : int,p1 : int,p2 : JObject)
517{#>>
518 # p0 = opt
519 # p1 = enable
520 # p2 = val
521
522 if (DEBUG)
523 sys->print( "In SocketSetOption routine");
524
525 if ( this.cfd == nil ) {
526 if (DEBUG)
527 sys->print("PlainSocketImplSetOption: Null this.fd\n");
528 jni->ThrowException("java.net.SocketException", "Socket Closed");
529 }
530
531 if (this.ctype == jnet->SOCK_STREAM)
532 ctype := "tcp";
533 else
534 ctype = "udp";
535
536 if( p0 == jnet->TCP_NODELAY )
537 s := "tcp_nodelay " + string p1;
538 else if ( p0 == jnet->SO_LINGER )
539 if ( p1 > 0 ) {
540 if( p2 != nil ) {
541 v := jni->GetObjField( p2, "value", "I");
542 vl := v.Int();
543 s = "linger " + string vl;
544 }
545 } else
546 s = "linger " + "-1";
547 else
548 jni->ThrowException( "java.net.SocketException",
549 "Socket Option Unsupported");
550
551 if ( DEBUG )
552 sys->print("SocketSetOpt: Option given is: %s\n", s );
553
554 n := sys->write( this.cfd.fd, array of byte s, len array of byte s );
555
556 if( n <= 0 ) {
557 if (DEBUG)
558 sys->print( "SetSockOpt: cmd to ctl file returned bad byte count %d\n",n);
559 jni->ThrowException( "java.net.SocketException",
560 "SetSocketOption error");
561 }
562}#<<
563
564socketGetOption_I_I( this : ref PlainSocketImpl_obj, p0 : int) : int
565{#>>
566
567 temp,ctype,dir: string;
568 buf:= array[256] of byte;
569 s,str: string;
570 iplist,st: list of string;
571 m,n,i : int;
572
573 # p0 == socket option
574
575 if (DEBUG)
576 sys->print( "In SocketGetOption routine");
577
578 if ( this.fd == nil ) {
579 if (DEBUG)
580 sys->print("PlainSocketImplGetOption: this.fd is null\n");
581 jni->ThrowException("java.net.SocketException", "Socket Closed");
582 }
583
584
585 if (this.ctype == jnet->SOCK_STREAM)
586 ctype = "tcp";
587 else
588 ctype = "udp";
589
590 if (p0 == jnet->SO_LINGER )
591 s = "linger";
592 else if ( p0 == jnet->TCP_NODELAY )
593 s = "tcp_nodelay";
594 else if ( p0 == jnet->SO_BINADDR ){
595 sfd := sys->open("/dev/sysname", sys->OREAD);
596 if ( sfd == nil ) {
597 jni->ThrowException( "java.net.SocketException",
598 "socketGetOpt: Inferno sysname file open failed");
599 }
600
601 if(( m = sys->read(sfd, buf, len buf)) < 0 ) {
602 if (DEBUG)
603 sys->print("SocketGetOpt: SO_BINADDR: /dev/sysname read failed\n");
604 return -1;
605 }
606 st = srv->iph2a(string buf[0:m]);
607 if (st == nil) {
608 if (DEBUG)
609 sys->print("sockGetOpt: iph2a returned nil list\n");
610 jni->ThrowException( "java.net.SocketException",
611 "socketGetOption: SO_BINADDR: Unable to get local address");
612 }
613 str = hd st;
614 if (DEBUG)
615 sys->print("socketGetOption: st hd = %s\n", str);
616 # insure net byte ordered byte[]
617 ( i, iplist ) = sys->tokenize( str, ".");
618 if ( i == 0 ) {
619 if (DEBUG)
620 sys->print("sockGetOpt: tokenize 0 size list\n");
621 jni->ThrowException( "java.net.SocketException",
622 "socketGetOption: SO_BINADDR: Unable tokenize local address");
623 }
624 b:= array[len iplist] of byte;
625 for (j:=0; j<len iplist; j++) {
626 temp = hd iplist;
627 if (DEBUG )
628 sys->print("socketGetOpt: temp = %s\n", temp);
629 iplist = tl iplist;
630 b[j] = byte temp;
631 }
632 i=0;
633 i |= int ( b[0] << 24) ;
634 i |= int ( b[1] << 16 );
635 i |= int ( b[2] << 8 );
636 i |= int ( b[3] );
637 if (DEBUG )
638 sys->print("socketGetOpt: returning BINADDR = %d\n", i);
639 return i;
640 } else
641 jni->ThrowException( "java.net.SocketException",
642 "socketGetOption: Unknown Option");
643
644
645 # Get status file string ...
646 dir = "/net/" + ctype + "/" + string this.connection + "/status";
647
648 if ((sfd := sys->open( dir, sys->OREAD )) == nil ) {
649 if (DEBUG)
650 sys->print("socketGetOpt: Open status file %s return"+
651 "ed nil fd\n", dir);
652 jni->ThrowException( "java.net.SocketException",
653 "socketGetOpt: Inferno Status file open failed");
654 }
655
656 n = sys->read(sfd, buf, len buf);
657 if ( n <= 0 ) {
658 if( DEBUG )
659 sys->print("socketGetOpt: status file bad read %d\n", n);
660 return -1;
661 }
662 if (DEBUG)
663 sys->print("socketGetOpt: status file has: %s\n", string buf[0:n]);
664
665 (m, st) = sys->tokenize( string buf[:n], " \t\n");
666 if ( m == 0 )
667 jni->ThrowException( "java.net.SocketException",
668 "socketGetOption: Unable to tokenize status info");
669
670 for(i=0;i<m;i++) {
671 str = hd st;
672 st = tl st;
673 if ( strp->prefix( str, s )) {
674 if (p0 == jnet -> SO_LINGER)
675 return int hd st;
676 else if ( p0 == jnet -> TCP_NODELAY)
677 if ( int hd st != 0 )
678 return 0;
679 else
680 break;
681 }
682 }
683
684 return -1;
685}#<<
java/pkg2/java/net/PlainSocketImpl_L.m+30−0
@@ -0,0 +1,30 @@
1# generated file edit with care
2
3PlainSocketImpl_L : module
4{
5 PlainSocketImpl_obj : adt
6 {
7 cl_mod : ClassModule;
8 cfd : ref FileDescriptor_obj;
9 ctype : int;
10 connection : int;
11 fd : ref FileDescriptor_obj;
12 address : ref InetAddress_obj;
13 port : int;
14 localport : int;
15 timeout : int;
16 };
17
18 init : fn( jni_p : JNI );
19 socketCreate_Z_V : fn( this : ref PlainSocketImpl_obj, p0 : int);
20 socketConnect_rInetAddress_I_V : fn( this : ref PlainSocketImpl_obj, p0 : ref InetAddress_obj,p1 : int);
21 socketBind_rInetAddress_I_V : fn( this : ref PlainSocketImpl_obj, p0 : ref InetAddress_obj,p1 : int);
22 socketListen_I_V : fn( this : ref PlainSocketImpl_obj, p0 : int);
23 socketAccept_rSocketImpl_V : fn( this : ref PlainSocketImpl_obj, p0 : ref SocketImpl_obj);
24 socketAvailable_I : fn( this : ref PlainSocketImpl_obj) : int;
25 socketClose_V : fn( this : ref PlainSocketImpl_obj);
26 initProto_V : fn( );
27 socketSetOption_I_Z_rObject_V : fn( this : ref PlainSocketImpl_obj, p0 : int,p1 : int,p2 : JObject);
28 socketGetOption_I_I : fn( this : ref PlainSocketImpl_obj, p0 : int) : int;
29
30};
java/pkg2/java/net/ProtocolException.java+0−0

Empty file added.

java/pkg2/java/net/ServerSocket.java+0−0

Empty file added.

java/pkg2/java/net/Socket.java+0−0

Empty file added.

java/pkg2/java/net/SocketException.java+0−0

Empty file added.

java/pkg2/java/net/SocketImpl.java+0−0

Empty file added.

java/pkg2/java/net/SocketImplFactory.java+0−0

Empty file added.

java/pkg2/java/net/SocketImpl_L.m+19−0
@@ -0,0 +1,19 @@
1# generated file edit with care
2
3SocketImpl_L : module
4{
5 SocketImpl_obj : adt
6 {
7 cl_mod : ClassModule;
8 cfd : ref FileDescriptor_obj;
9 ctype: int;
10 connection: int;
11 fd : ref FileDescriptor_obj;
12 address : ref InetAddress_obj;
13 port : int;
14 localport : int;
15 };
16
17 init : fn( jni_p : JNI );
18
19};
java/pkg2/java/net/SocketInputStream.java+0−0

Empty file added.

java/pkg2/java/net/SocketInputStream_L.b+173−0
@@ -0,0 +1,173 @@
1implement SocketInputStream_L;
2
3include "jni.m";
4 jni : JNI;
5 ClassModule,
6 JString,
7 JArray,
8 JArrayI,
9 JArrayC,
10 JArrayB,
11 JArrayS,
12 JArrayJ,
13 JArrayF,
14 JArrayD,
15 JArrayZ,
16 JArrayJObject,
17 JArrayJString,
18 JClass,
19 JObject : import jni;
20
21#>> extra pre includes here
22
23#<<
24
25include "SocketInputStream_L.m";
26
27#>> extra post includes here
28
29include "jnet.m";
30 jnet: JNET;
31
32include "java/io/FileDescriptor_L.m";
33 fildes: FileDescriptor_L;
34
35include "InetAddress_L.m";
36 inet: InetAddress_L;
37
38FileDescriptor_obj: import fildes;
39InetAddress_obj: import inet;
40
41include "SocketImpl_L.m";
42 sock: SocketImpl_L;
43
44SocketImpl_obj: import sock;
45
46include "PlainSocketImpl_L.m";
47 psock: PlainSocketImpl_L;
48
49sys: Sys;
50strp: String;
51DEBUG: import jnet;
52FD: import sys;
53
54PlainSocketImpl_obj: import psock;
55
56#<<
57
58init( jni_p : JNI )
59{
60 # save java native inteface mod instance
61 jni = jni_p;
62 #>>extra initialization here
63
64 sys = jni->sys;
65 strp = jni->str;
66
67 #<<
68}
69
70socketRead_aB_I_I_I( this : ref SocketInputStream_obj, p0 : JArrayB,p1 : int,p2 : int) : int
71{#>>
72
73
74 st: list of string;
75 str: string;
76 m: int;
77
78 # p1 = offset
79 # p2 = length
80
81 if (p0 == nil ) {
82 if ( DEBUG )
83 sys->print( "socketRead: p0 ptr to JArrayB is nil\n");
84 jni->ThrowException( "java.lang.NullPointerException", "");
85 }
86
87 if (this.fd == nil ) {
88 if ( DEBUG )
89 sys->print( "socketRead: this.fd == 0, socket must be closed\n");
90 jni->ThrowException( "java.net.SocketException", "Socket was closed");
91 }
92
93 if ( p2 <0 || p1 < 0 || p1 + p2 > len p0.ary ) {
94 if ( DEBUG )
95 sys->print( "socketRead: offset: %d/length: %d wrong in byte array\n",p1,p2);
96 jni->ThrowException( "java.lang.ArrayIndexOutOfBoundsException", "");
97 }
98
99
100 if (this.impl == nil ) {
101 if ( DEBUG )
102 sys->print( "socketRead: p0 ptr to SocketImpl is nil\n");
103 jni->ThrowException( "java.lang.NullPointerException", "null SocketImpl ref");
104 }
105
106
107 # The TIMEOUT logic... Note modifications to SocketInputStream_L.m
108 # had to be made to support impl ptr as a ref to PlainSocketImpl_obj instead
109 # of JOBJECT...
110
111 if( this.impl.timeout != 0 ) {
112 temp:= jnet->timeout + " " + string this.impl.timeout;
113 rc := sys->write(this.impl.cfd.fd, array of byte temp, len temp);
114 if (DEBUG)
115 sys->print("socketRead: fixing timeout value %s\n", string this.impl.timeout);
116 if ( rc <= 0 )
117 jni->ThrowException("java.net.SocketException",
118 "socketRead: Unable to set timeout");
119 }
120
121 # Do Read of data file into buffer...
122 if (DEBUG)
123 sys->print("Reading into JArrayB for %d bytes\n",p2);
124
125 n := sys->read(this.fd.fd, array of byte p0.ary[p1: ], p2);
126
127 if (DEBUG)
128 sys->print("SocketInputStream: read of socket: %s\n", string p0.ary[p1:n]);
129
130 # Check status file to for timeout...
131
132 if (this.impl.ctype == jnet->SOCK_STREAM)
133 ctype:= "tcp";
134 else
135 ctype = "udp";
136
137 buf:= array[256] of byte;
138
139 dir := "/net/" + ctype + "/" + string this.impl.connection + "/status";
140 sfd := sys->open( dir, sys->OREAD );
141 if (sfd == nil ) {
142 if (DEBUG)
143 sys->print( "socketInputStreamRead: Open of status file %s returned nil fd\n", dir);
144 jni->ThrowException( "java.net.SocketException",
145 "socketInputStreamRead: Read failed");
146 }
147
148 k := sys->read(sfd, buf, len buf);
149 if (DEBUG)
150 sys->print("socketInputStreamRead: status file has: %s\n", string buf[0:k]);
151 if ( k > 0 ) {
152 (m, st) = sys->tokenize( string buf, " \t\n");
153 for(i:=0;i<m;i++) {
154 str = hd st;
155 if ( strp->prefix( str, "timed-out" )) {
156 if (DEBUG)
157 sys->print( "socketAccept: timeout\n");
158 jni->ThrowException("java.io.InterruptedIOException",
159 "socketInputStreamRead: Read timed out.");
160 }
161 st = tl st;
162 }
163 }
164
165
166 if ( n < 0 ) {
167 if ( DEBUG )
168 sys->print( "socketRead: Read failed with code %d\n", n);
169 jni->ThrowException( "java.net.SocketException", "Read failed");
170 }
171 return n;
172
173}#<<
java/pkg2/java/net/SocketInputStream_L.m+17−0
@@ -0,0 +1,17 @@
1# generated file edit with care
2
3SocketInputStream_L : module
4{
5 SocketInputStream_obj : adt
6 {
7 cl_mod : ClassModule;
8 fd : ref FileDescriptor_obj;
9 eof : int;
10 impl : ref PlainSocketImpl_obj;
11 temp : JArrayB;
12 };
13
14 init : fn( jni_p : JNI );
15 socketRead_aB_I_I_I : fn( this : ref SocketInputStream_obj, p0 : JArrayB,p1 : int,p2 : int) : int;
16
17};
java/pkg2/java/net/SocketOptions.java+0−0

Empty file added.

java/pkg2/java/net/SocketOutputStream.java+0−0

Empty file added.

java/pkg2/java/net/SocketOutputStream_L.b+95−0
@@ -0,0 +1,95 @@
1implement SocketOutputStream_L;
2
3include "jni.m";
4 jni : JNI;
5 ClassModule,
6 JString,
7 JArray,
8 JArrayI,
9 JArrayC,
10 JArrayB,
11 JArrayS,
12 JArrayJ,
13 JArrayF,
14 JArrayD,
15 JArrayZ,
16 JArrayJObject,
17 JArrayJString,
18 JClass,
19 JObject : import jni;
20
21#>> extra pre includes here
22
23#<<
24
25include "SocketOutputStream_L.m";
26
27#>> extra post includes here
28
29
30include "jnet.m";
31 jnet: JNET;
32
33include "java/io/FileDescriptor_L.m";
34 fildes: FileDescriptor_L;
35
36include "InetAddress_L.m";
37 inet: InetAddress_L;
38
39sys: Sys;
40
41DEBUG: import jnet;
42FD: import sys;
43FileDescriptor_obj: import fildes;
44InetAddress_obj: import inet;
45
46#<<
47
48init( jni_p : JNI )
49{
50 # save java native inteface mod instance
51 jni = jni_p;
52 #>>extra initialization here
53
54 sys = jni->sys;
55
56 if (DEBUG)
57 sys->print("socketOutputStream: init()\n");
58 #<<
59}
60
61socketWrite_aB_I_I_V( this : ref SocketOutputStream_obj, p0 : JArrayB,p1 : int,p2 : int)
62{#>>
63
64
65 if (this.fd == nil ) {
66 if ( DEBUG )
67 sys->print( "socketWrite: this.fd == 0, socket must be closed\n");
68 jni->ThrowException( "java.net.SocketException", "Socket was closed");
69 }
70
71 if ( p2 <0 || p1 < 0 || p1 + p2 > len p0.ary ) {
72 if ( DEBUG )
73 sys->print( "socketWrite: offset: %d/length: %d wrong in byte array\n",p1,p2);
74 jni->ThrowException( "java.lang.ArrayIndexOutOfBoundsException", "");
75 }
76
77 if (p0 == nil ) {
78 if ( DEBUG )
79 sys->print( "socketWrite: p0 ptr to JArrayB is nil\n");
80 jni->ThrowException( "java.lang.NullPointerException", "");
81 }
82
83 # Write into buffer...
84 if (DEBUG)
85 sys->print("Writing into JArrayB for %d bytes\n",p2);
86 n := sys->write(this.fd.fd, p0.ary[p1: ], p2);
87 if ( n < 0 ) {
88 if ( DEBUG )
89 sys->print( "socketWrite: Read failed with code %d\n", n);
90 jni->ThrowException( "java.net.SocketException", "Write failed");
91 }
92 return;
93
94}#<<
95
java/pkg2/java/net/SocketOutputStream_L.m+16−0
@@ -0,0 +1,16 @@
1# generated file edit with care
2
3SocketOutputStream_L : module
4{
5 SocketOutputStream_obj : adt
6 {
7 cl_mod : ClassModule;
8 fd : ref FileDescriptor_obj;
9 impl : JObject;
10 temp : JArrayB;
11 };
12
13 init : fn( jni_p : JNI );
14 socketWrite_aB_I_I_V : fn( this : ref SocketOutputStream_obj, p0 : JArrayB,p1 : int,p2 : int);
15
16};
java/pkg2/java/net/URL.java+0−0

Empty file added.

java/pkg2/java/net/URLConnection.java+0−0

Empty file added.

java/pkg2/java/net/URLEncoder.java+0−0

Empty file added.

java/pkg2/java/net/URLStreamHandler.java+0−0

Empty file added.

java/pkg2/java/net/URLStreamHandlerFactory.java+0−0

Empty file added.

java/pkg2/java/net/UnknownHostException.java+0−0

Empty file added.

java/pkg2/java/net/UnknownServiceException.java+0−0

Empty file added.

java/pkg2/java/net/jnet.m+23−0
@@ -0,0 +1,23 @@
1JNET: module
2{
3 # These are taken from solaris
4
5 AF_INET: con 2;
6 INADDR_ANY: con 0;
7
8 SOCK_STREAM: con 2;
9 SOCK_DGRAM: con 1;
10 SO_LINGER: con 16r80;
11 SO_REUSEADDR: con 16r04;
12 TCP_NODELAY: con 16r01;
13
14 SO_BINADDR: con 16r0F;
15 IP_MULTICAST_IF: con 16r10;
16
17 timeout: con "rcvtimeo";
18 linger: con "linger";
19 nodelay: con "nodelay";
20
21 IPADDRLEN: con 4;
22 DEBUG: con 0;
23};
java/pkg2/java/net/mkfile+100−0
@@ -0,0 +1,100 @@
1<../../../../mkconfig
2
3TARG=\
4 BindException.dis\
5 ConnectException.dis\
6 ContentHandler.dis\
7 ContentHandlerFactory.dis\
8 DatagramPacket.dis\
9 DatagramSocket.dis\
10 DatagramSocketImpl.dis\
11 FileNameMap.dis\
12 HttpURLConnection.dis\
13 InetAddress.dis\
14 InetAddressImpl.dis\
15 MalformedURLException.dis\
16 MulticastSocket.dis\
17# for NoRouteToHostException.dis\
18 r9PkdNz+JgG1Itcw2f6YJ.dis\
19# for PlainDatagramSocketImpl.dis\
20 5zd2a5CaD3UBT8TZHMXzK.dis\
21 PlainSocketImpl.dis\
22 ProtocolException.dis\
23 ServerSocket.dis\
24 Socket.dis\
25 SocketException.dis\
26 SocketImpl.dis\
27 SocketImplFactory.dis\
28 SocketInputStream.dis\
29 SocketOptions.dis\
30 SocketOutputStream.dis\
31 URL.dis\
32 URLConnection.dis\
33 URLEncoder.dis\
34 URLStreamHandler.dis\
35# for URLStreamHandlerFactory.dis\
36 O1DuMby-OVJt3a8-blgAl.dis\
37 UnknownContentHandler.dis\
38 UnknownHostException.dis\
39# for UnknownServiceException.dis\
40 r10zsfdVB4eiod6AyF43R.dis\
41# Limbo code\
42 InetAddressImpl_L.dis\
43# for PlainDatagramSocketImpl_L.dis\
44 5zd2a5CaD3UBT8TZHMXzK_L.dis\
45 PlainSocketImpl_L.dis\
46 SocketInputStream_L.dis\
47 SocketOutputStream_L.dis\
48
49MODULES=\
50 $ROOT/java/module/classloader.m\
51 $ROOT/java/module/jni.m\
52 $ROOT/java/module/cast.m\
53 DatagramPacket_L.m\
54 DatagramSocketImpl_L.m\
55 InetAddressImpl_L.m\
56 InetAddress_L.m\
57 PlainDatagramSocketImpl_L.m\
58 PlainSocketImpl_L.m\
59 SocketImpl_L.m\
60 SocketInputStream_L.m\
61 SocketOutputStream_L.m\
62 jnet.m\
63
64SYSMODULES=\
65 draw.m\
66 hash.m\
67 keyring.m\
68 loader.m\
69 math.m\
70 string.m\
71 sys.m\
72
73DISBIN=$ROOT/java/dis/java/java/net
74
75<$ROOT/mkfiles/mkjava
76
77LIMBOINCL=\
78 $LIMBOINCL\
79 -I$ROOT/java/pkg\
80
81InetAddressImpl.dis: InetAddress.class
82 j2d InetAddressImpl.class
83
84r9PkdNz+JgG1Itcw2f6YJ.dis: NoRouteToHostException.class
85 j2d NoRouteToHostException.class
86
875zd2a5CaD3UBT8TZHMXzK.dis: PlainDatagramSocketImpl.class
88 j2d PlainDatagramSocketImpl.class
89
90UnknownContentHandler.dis: URLConnection.class
91 j2d UnknownContentHandler.class
92
93O1DuMby-OVJt3a8-blgAl.dis: URLStreamHandlerFactory.class
94 j2d URLStreamHandlerFactory.class
95
96r10zsfdVB4eiod6AyF43R.dis: UnknownServiceException.class
97 j2d UnknownServiceException.class
98
995zd2a5CaD3UBT8TZHMXzK_L.dis: PlainDatagramSocketImpl_L.b
100 limbo $LIMBOFLAGS $LIMBOINCL -gw -o $target PlainDatagramSocketImpl_L.b