├── .github └── FUNDING.yml ├── .gitignore ├── CHANGELOG ├── LICENSE ├── META ├── README.rst ├── alternative ├── jdk0 │ └── java │ │ └── util │ │ └── AbstractList.j └── jdk_collections_impl │ └── java │ └── util │ └── AbstractCollection.j ├── build.xml ├── manifest.mf ├── nbproject ├── build-impl.xml ├── genfiles.properties ├── project.properties └── project.xml ├── src ├── auditfs │ ├── AuditRecord.java │ └── AuditStore.java ├── bioram │ ├── BlockIORAM.java │ └── Main.java ├── buffercache │ ├── BufferCache.java │ ├── BufferFreeList.java │ ├── BufferHashtable.java │ └── BufferHead.java ├── com │ └── sun │ │ └── net │ │ └── ssl │ │ ├── KeyManager.java │ │ ├── KeyManagerFactory.java │ │ ├── SSLContext.java │ │ ├── TrustManager.java │ │ ├── TrustManagerFactory.java │ │ └── internal │ │ └── ssl │ │ └── Provider.java ├── db │ ├── avltree │ │ ├── AVLBaum.java │ │ ├── Baum.java │ │ ├── Comparable.java │ │ └── SuchBaum.java │ ├── systembuffer │ │ └── strategy │ │ │ ├── PageStrategy.java │ │ │ └── PageStrategyRecord.java │ └── treemap │ │ └── TreeMap.java ├── gnu │ └── java │ │ ├── awt │ │ ├── BitMaskExtent.java │ │ └── Buffers.java │ │ ├── io │ │ ├── EncodingManager.java │ │ ├── decode │ │ │ ├── Decoder.java │ │ │ └── DecoderEightBitLookup.java │ │ └── encode │ │ │ ├── Encoder.java │ │ │ └── EncoderEightBitLookup.java │ │ ├── math │ │ └── MPN.java │ │ └── security │ │ └── DefaultPermissionCollection.java ├── java │ ├── applet │ │ ├── Applet.java │ │ ├── AppletContext.java │ │ ├── AppletStub.java │ │ └── AudioClip.java │ ├── awt │ │ ├── AWTError.java │ │ ├── AWTEvent.java │ │ ├── AWTEventMulticaster.java │ │ ├── AWTException.java │ │ ├── Adjustable.java │ │ ├── BorderLayout.java │ │ ├── Button.java │ │ ├── Canvas.java │ │ ├── Checkbox.java │ │ ├── CheckboxGroup.java │ │ ├── CheckboxMenuItem.java │ │ ├── Choice.java │ │ ├── Color.java │ │ ├── Component.java │ │ ├── Container.java │ │ ├── Cursor.java │ │ ├── Dimension.java │ │ ├── Event.java │ │ ├── EventDispatchThread.java │ │ ├── EventQueue.java │ │ ├── EventQueue.sav │ │ ├── FlowLayout.java │ │ ├── Font.java │ │ ├── FontMetrics.java │ │ ├── Frame.java │ │ ├── Graphics.java │ │ ├── GridLayout.java │ │ ├── IllegalComponentStateException.java │ │ ├── Image.java │ │ ├── Insets.java │ │ ├── ItemSelectable.java │ │ ├── Label.java │ │ ├── LayoutManager.java │ │ ├── LayoutManager2.java │ │ ├── List.java │ │ ├── Menu.java │ │ ├── MenuBar.java │ │ ├── MenuComponent.java │ │ ├── MenuContainer.java │ │ ├── MenuItem.java │ │ ├── MenuShortcut.java │ │ ├── Panel.java │ │ ├── Point.java │ │ ├── PopupMenu.java │ │ ├── Rectangle.java │ │ ├── ScrollPane.java │ │ ├── ScrollPaneAdjustable.java │ │ ├── Scrollbar.java │ │ ├── Shape.java │ │ ├── TextArea.java │ │ ├── TextComponent.java │ │ ├── TextField.java │ │ ├── Toolkit.java │ │ ├── Transparency.java │ │ ├── Window.java │ │ ├── color │ │ │ ├── ColorSpace.java │ │ │ ├── ICC_ColorSpace.java │ │ │ └── ICC_Profile.java │ │ ├── datatransfer │ │ │ ├── Clipboard.java │ │ │ ├── ClipboardOwner.java │ │ │ ├── DataFlavor.java │ │ │ ├── FlavorMap.java │ │ │ ├── MimeTypeParseException.java │ │ │ ├── StringSelection.java │ │ │ ├── SystemFlavorMap.java │ │ │ ├── Transferable.java │ │ │ └── UnsupportedFlavorException.java │ │ ├── event │ │ │ ├── ActionEvent.java │ │ │ ├── ActionListener.java │ │ │ ├── AdjustmentEvent.java │ │ │ ├── AdjustmentListener.java │ │ │ ├── ComponentAdapter.java │ │ │ ├── ComponentEvent.java │ │ │ ├── ComponentListener.java │ │ │ ├── ContainerAdapter.java │ │ │ ├── ContainerEvent.java │ │ │ ├── ContainerListener.java │ │ │ ├── FocusAdapter.java │ │ │ ├── FocusEvent.java │ │ │ ├── FocusListener.java │ │ │ ├── InputEvent.java │ │ │ ├── ItemEvent.java │ │ │ ├── ItemListener.java │ │ │ ├── KeyAdapter.java │ │ │ ├── KeyEvent.java │ │ │ ├── KeyListener.java │ │ │ ├── MouseAdapter.java │ │ │ ├── MouseEvent.java │ │ │ ├── MouseListener.java │ │ │ ├── MouseMotionAdapter.java │ │ │ ├── MouseMotionListener.java │ │ │ ├── PaintEvent.java │ │ │ ├── TextEvent.java │ │ │ ├── TextListener.java │ │ │ ├── WindowAdapter.java │ │ │ ├── WindowEvent.java │ │ │ └── WindowListener.java │ │ ├── image │ │ │ ├── ColorModel.java │ │ │ ├── ComponentColorModel.java │ │ │ ├── ComponentSampleModel.java │ │ │ ├── DataBuffer.java │ │ │ ├── DataBufferByte.java │ │ │ ├── DataBufferInt.java │ │ │ ├── DataBufferUShort.java │ │ │ ├── DirectColorModel.java │ │ │ ├── ImageConsumer.java │ │ │ ├── ImageFilter.java │ │ │ ├── ImageObserver.java │ │ │ ├── ImageProducer.java │ │ │ ├── IndexColorModel.java │ │ │ ├── MemoryImageSource.java │ │ │ ├── PackedColorModel.java │ │ │ ├── RGBImageFilter.java │ │ │ ├── Raster.java │ │ │ ├── SampleModel.java │ │ │ ├── SinglePixelPackedSampleModel.java │ │ │ └── WritableRaster.java │ │ └── peer │ │ │ ├── ButtonPeer.java │ │ │ ├── CanvasPeer.java │ │ │ ├── CheckboxMenuItemPeer.java │ │ │ ├── CheckboxPeer.java │ │ │ ├── ChoicePeer.java │ │ │ ├── ComponentPeer.java │ │ │ ├── ContainerPeer.java │ │ │ ├── FontPeer.java │ │ │ ├── FramePeer.java │ │ │ ├── LabelPeer.java │ │ │ ├── LightweightPeer.java │ │ │ ├── ListPeer.java │ │ │ ├── MenuBarPeer.java │ │ │ ├── MenuComponentPeer.java │ │ │ ├── MenuItemPeer.java │ │ │ ├── MenuPeer.java │ │ │ ├── PanelPeer.java │ │ │ ├── PopupMenuPeer.java │ │ │ ├── ScrollPanePeer.java │ │ │ ├── ScrollbarPeer.java │ │ │ ├── TextAreaPeer.java │ │ │ ├── TextComponentPeer.java │ │ │ ├── TextFieldPeer.java │ │ │ └── WindowPeer.java │ ├── beans │ │ ├── BeanDescriptor.java │ │ ├── BeanInfo.java │ │ ├── Beans.j │ │ ├── Customizer.java │ │ ├── DesignMode.java │ │ ├── EventSetDescriptor.j │ │ ├── FeatureDescriptor.java │ │ ├── IndexedPropertyDescriptor.j │ │ ├── IntrospectionException.java │ │ ├── Introspector.j │ │ ├── MethodDescriptor.java │ │ ├── ParameterDescriptor.java │ │ ├── PropertyChangeEvent.java │ │ ├── PropertyChangeListener.java │ │ ├── PropertyChangeSupport.java │ │ ├── PropertyDescriptor.j │ │ ├── PropertyEditor.java │ │ ├── PropertyEditorManager.j │ │ ├── PropertyEditorSupport.java │ │ ├── PropertyVetoException.java │ │ ├── SimpleBeanInfo.j │ │ ├── VetoableChangeListener.java │ │ ├── VetoableChangeSupport.java │ │ └── Visibility.java │ ├── io │ │ ├── BufferedInputStream.java │ │ ├── BufferedOutputStream.java │ │ ├── BufferedReader.java │ │ ├── ByteArrayInputStream.java │ │ ├── ByteArrayOutputStream.java │ │ ├── CharArrayReader.java │ │ ├── CharArrayWriter.java │ │ ├── CharConversionException.java │ │ ├── Closeable.java │ │ ├── DataInput.java │ │ ├── DataInputStream.java │ │ ├── DataOutput.java │ │ ├── DataOutputStream.java │ │ ├── EOFException.java │ │ ├── Externalizable.java │ │ ├── File.java │ │ ├── FileDescriptor.java │ │ ├── FileInputStream.java │ │ ├── FileNotFoundException.java │ │ ├── FileOutputStream.java │ │ ├── FilePermission.java │ │ ├── FileReader.java │ │ ├── FileWriter.java │ │ ├── FilenameFilter.java │ │ ├── FilterInputStream.java │ │ ├── FilterOutputStream.java │ │ ├── IOException.java │ │ ├── InputStream.java │ │ ├── InputStreamReader.java │ │ ├── InterruptedIOException.java │ │ ├── InvalidObjectException.java │ │ ├── NotActiveException.java │ │ ├── NotSerializableException.java │ │ ├── ObjectIdentityWrapper.java │ │ ├── ObjectInputStream.java │ │ ├── ObjectOutput.java │ │ ├── ObjectOutputStream.java │ │ ├── ObjectStreamClass.java │ │ ├── ObjectStreamConstants.java │ │ ├── ObjectStreamException.java │ │ ├── ObjectStreamField.java │ │ ├── OutputStream.java │ │ ├── OutputStreamWriter.java │ │ ├── PrintStream.java │ │ ├── PrintWriter.java │ │ ├── PushbackInputStream.java │ │ ├── RandomAccessFile.j │ │ ├── Reader.java │ │ ├── Serializable.java │ │ ├── SerializablePermission.java │ │ ├── StreamCorruptedException.java │ │ ├── StringBufferInputStream.java │ │ ├── StringReader.java │ │ ├── StringWriter.java │ │ ├── UTFDataFormatException.java │ │ ├── UnsupportedEncodingException.java │ │ └── Writer.java │ ├── lang │ │ ├── AbstractMethodError.java │ │ ├── AbstractStringBuilder.java │ │ ├── Appendable.java │ │ ├── ArithmeticException.java │ │ ├── ArrayIndexOutOfBoundsException.java │ │ ├── AssertionError.java │ │ ├── AutoCloseable.java │ │ ├── Boolean.java │ │ ├── Byte.java │ │ ├── CharSequence.java │ │ ├── Character.java │ │ ├── Class.java │ │ ├── ClassCastException.java │ │ ├── ClassFormatError.java │ │ ├── ClassLoader.java │ │ ├── ClassNotFoundException.java │ │ ├── ClassValue.java │ │ ├── CloneNotSupportedException.java │ │ ├── Cloneable.java │ │ ├── Comparable.java │ │ ├── Double.java │ │ ├── Enum.java │ │ ├── Error.java │ │ ├── Exception.java │ │ ├── ExceptionInInitializerError.java │ │ ├── Float.java │ │ ├── IllegalAccessException.java │ │ ├── IllegalArgumentException.java │ │ ├── IllegalMonitorStateException.java │ │ ├── IllegalStateException.java │ │ ├── IllegalThreadStateException.java │ │ ├── IncompatibleClassChangeError.java │ │ ├── IndexOutOfBoundsException.java │ │ ├── InstantiationException.java │ │ ├── Integer.java │ │ ├── InternalError.java │ │ ├── InterruptedException.java │ │ ├── Iterable.java │ │ ├── LinkageError.java │ │ ├── Long.java │ │ ├── Math.java │ │ ├── NegativeArraySizeException.java │ │ ├── NoClassDefFoundError.java │ │ ├── NoSuchFieldError.java │ │ ├── NoSuchFieldException.java │ │ ├── NoSuchMethodError.java │ │ ├── NoSuchMethodException.java │ │ ├── NullPointerException.java │ │ ├── Number.java │ │ ├── NumberFormatException.java │ │ ├── Object.java │ │ ├── OutOfMemoryError.java │ │ ├── Process.java │ │ ├── ReflectiveOperationException.java │ │ ├── Runnable.java │ │ ├── Runtime.java │ │ ├── RuntimeException.java │ │ ├── RuntimePermission.java │ │ ├── SecurityException.java │ │ ├── SecurityManager.java │ │ ├── Short.java │ │ ├── StackTraceElement.java │ │ ├── String.java │ │ ├── StringBuffer.java │ │ ├── StringBuilder.java │ │ ├── StringIndexOutOfBoundsException.java │ │ ├── System.java │ │ ├── Thread.java │ │ ├── ThreadDeath.java │ │ ├── ThreadGroup.java │ │ ├── Throwable.java │ │ ├── TypeNotPresentException.java │ │ ├── UnsatisfiedLinkError.java │ │ ├── UnsupportedOperationException.java │ │ ├── VirtualMachineError.java │ │ ├── Void.java │ │ ├── invoke │ │ │ ├── AbstractValidatingLambdaMetafactory.java │ │ │ ├── BoundMethodHandle.java │ │ │ ├── CallSite.java │ │ │ ├── ConstantCallSite.java │ │ │ ├── DelegatingMethodHandle.java │ │ │ ├── DirectMethodHandle.java │ │ │ ├── InfoFromMemberName.java │ │ │ ├── InnerClassLambdaMetafactory.java │ │ │ ├── Invokers.java │ │ │ ├── LambdaConversionException.java │ │ │ ├── LambdaForm.java │ │ │ ├── LambdaFormEditor.java │ │ │ ├── LambdaMetafactory.java │ │ │ ├── MemberName.java │ │ │ ├── MethodHandle.java │ │ │ ├── MethodHandleImpl.java │ │ │ ├── MethodHandleInfo.java │ │ │ ├── MethodHandleNatives.java │ │ │ ├── MethodHandleStatics.java │ │ │ ├── MethodHandles.java │ │ │ ├── MethodType.java │ │ │ ├── MethodTypeForm.java │ │ │ ├── Name.java │ │ │ ├── SimpleMethodHandle.java │ │ │ ├── ValueConversions.java │ │ │ ├── VerifyType.java │ │ │ ├── Wrapper.java │ │ │ └── WrongMethodTypeException.java │ │ ├── ref │ │ │ ├── Reference.java │ │ │ ├── ReferenceQueue.java │ │ │ └── WeakReference.java │ │ └── reflect │ │ │ ├── Array.j │ │ │ ├── Array.java │ │ │ ├── Constructor.java │ │ │ ├── Field.java │ │ │ ├── InvocationTargetException.java │ │ │ ├── Member.java │ │ │ ├── Method.java │ │ │ ├── Modifier.java │ │ │ └── ReflectPermission.java │ ├── math │ │ ├── BigDecimal.java │ │ └── BigInteger.j │ ├── net │ │ ├── BindException.java │ │ ├── ConnectException.java │ │ ├── ContentHandler.java │ │ ├── ContentHandlerFactory.java │ │ ├── DatagramPacket.java │ │ ├── DatagramSocket.java │ │ ├── FileNameMap.java │ │ ├── HttpURLConnection.java │ │ ├── Inet4Address.java │ │ ├── InetAddress.java │ │ ├── MalformedURLException.java │ │ ├── MimeTypeMapper.java │ │ ├── NetPermission.java │ │ ├── ServerSocket.java │ │ ├── Socket.java │ │ ├── SocketException.java │ │ ├── SocketPermission.java │ │ ├── SocketTimeoutException.java │ │ ├── URL.java │ │ ├── URLClassLoader.java │ │ ├── URLConnection.java │ │ ├── URLEncoder.java │ │ ├── URLStreamHandler.java │ │ ├── URLStreamHandlerFactory.java │ │ ├── UnknownHostException.java │ │ └── UnknownServiceException.java │ ├── nio │ │ └── Buffer.java │ ├── security │ │ ├── AccessControlContext.java │ │ ├── AccessControlException.java │ │ ├── AccessController.java │ │ ├── AlgorithmParameterGenerator.java │ │ ├── AlgorithmParameterGeneratorSpi.java │ │ ├── AlgorithmParameters.java │ │ ├── AlgorithmParametersSpi.java │ │ ├── AllPermission.java │ │ ├── BasicPermission$1.j │ │ ├── BasicPermission.java │ │ ├── Certificate.java │ │ ├── CodeSource.java │ │ ├── DigestException.java │ │ ├── DigestInputStream.java │ │ ├── DigestOutputStream.java │ │ ├── DomainCombiner.java │ │ ├── DummyKeyPairGenerator.java │ │ ├── DummyMessageDigest.java │ │ ├── DummySignature.java │ │ ├── GeneralSecurityException.java │ │ ├── Guard.java │ │ ├── GuardedObject.java │ │ ├── Identity.java │ │ ├── IdentityScope.java │ │ ├── InvalidAlgorithmParameterException.java │ │ ├── InvalidKeyException.java │ │ ├── InvalidParameterException.java │ │ ├── Key.java │ │ ├── KeyException.java │ │ ├── KeyFactory.java │ │ ├── KeyFactorySpi.java │ │ ├── KeyManagementException.java │ │ ├── KeyPair.java │ │ ├── KeyPairGenerator.java │ │ ├── KeyPairGeneratorSpi.java │ │ ├── KeyStore.java │ │ ├── KeyStoreException.java │ │ ├── KeyStoreSpi.java │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── MessageDigest.java │ │ ├── MessageDigestSpi.java │ │ ├── NoSuchAlgorithmException.java │ │ ├── NoSuchProviderException.java │ │ ├── Permission.java │ │ ├── PermissionCollection.java │ │ ├── Permissions.java │ │ ├── Policy.java │ │ ├── Principal.java │ │ ├── PrivateKey.java │ │ ├── PrivilegedAction.java │ │ ├── PrivilegedActionException.java │ │ ├── PrivilegedExceptionAction.java │ │ ├── ProtectionDomain.java │ │ ├── Provider.java │ │ ├── ProviderException.java │ │ ├── PublicKey.java │ │ ├── SecureClassLoader.java │ │ ├── SecureRandom.java │ │ ├── SecureRandomSpi.java │ │ ├── Security.java │ │ ├── SecurityPermission.java │ │ ├── Signature.java │ │ ├── SignatureException.java │ │ ├── SignatureSpi.java │ │ ├── SignedObject.java │ │ ├── Signer.java │ │ ├── UnrecoverableKeyException.java │ │ ├── UnresolvedPermission.java │ │ ├── acl │ │ │ ├── Acl.java │ │ │ ├── AclEntry.java │ │ │ ├── AclNotFoundException.java │ │ │ ├── Group.java │ │ │ ├── LastOwnerException.java │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── NotOwnerException.java │ │ │ ├── Owner.java │ │ │ └── Permission.java │ │ ├── cert │ │ │ ├── CRL.java │ │ │ ├── CRLException.java │ │ │ ├── Certificate.java │ │ │ ├── CertificateEncodingException.java │ │ │ ├── CertificateException.java │ │ │ ├── CertificateExpiredException.java │ │ │ ├── CertificateFactory.java │ │ │ ├── CertificateFactorySpi.java │ │ │ ├── CertificateNotYetValidException.java │ │ │ ├── CertificateParsingException.java │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── X509CRL.java │ │ │ ├── X509CRLEntry.java │ │ │ ├── X509Certificate.java │ │ │ └── X509Extension.java │ │ ├── interfaces │ │ │ ├── DSAKey.java │ │ │ ├── DSAKeyPairGenerator.java │ │ │ ├── DSAParams.java │ │ │ ├── DSAPrivateKey.java │ │ │ ├── DSAPublicKey.java │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── RSAKey.java │ │ │ ├── RSAPrivateCrtKey.java │ │ │ ├── RSAPrivateKey.java │ │ │ └── RSAPublicKey.java │ │ └── spec │ │ │ ├── AlgorithmParameterSpec.java │ │ │ ├── DSAParameterSpec.java │ │ │ ├── DSAPrivateKeySpec.java │ │ │ ├── DSAPublicKeySpec.java │ │ │ ├── EncodedKeySpec.java │ │ │ ├── InvalidKeySpecException.java │ │ │ ├── InvalidParameterSpecException.java │ │ │ ├── KeySpec.java │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── PKCS8EncodedKeySpec.java │ │ │ ├── RSAKeyGenParameterSpec.j │ │ │ ├── RSAPrivateCrtKeySpec.java │ │ │ ├── RSAPrivateKeySpec.java │ │ │ ├── RSAPublicKeySpec.java │ │ │ └── X509EncodedKeySpec.java │ ├── sql │ │ ├── Array.java │ │ ├── BatchUpdateException.java │ │ ├── Blob.java │ │ ├── CallableStatement.java │ │ ├── Clob.java │ │ ├── Connection.java │ │ ├── DataTruncation.java │ │ ├── DatabaseMetaData.java │ │ ├── Date.java │ │ ├── Driver.java │ │ ├── DriverManager.java │ │ ├── DriverPropertyInfo.java │ │ ├── PreparedStatement.java │ │ ├── Ref.java │ │ ├── ResultSet.java │ │ ├── ResultSetMetaData.java │ │ ├── SQLData.java │ │ ├── SQLException.java │ │ ├── SQLInput.java │ │ ├── SQLOutput.java │ │ ├── SQLWarning.java │ │ ├── Statement.java │ │ ├── Struct.java │ │ ├── Time.java │ │ ├── Timestamp.java │ │ └── Types.java │ ├── text │ │ ├── Annotation.java │ │ ├── AttributedCharacterIterator.java │ │ ├── AttributedString.j │ │ ├── AttributedStringIterator.j │ │ ├── BreakIterator.java │ │ ├── CharacterIterator.java │ │ ├── ChoiceFormat.java │ │ ├── CollationElementIterator.java │ │ ├── CollationKey.java │ │ ├── Collator.java │ │ ├── DateFormat.java │ │ ├── DateFormatSymbols.java │ │ ├── DecimalFormat.java │ │ ├── DecimalFormatSymbols.java │ │ ├── DefaultBreakIterator.java │ │ ├── FieldPosition.java │ │ ├── Format.java │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── MessageFormat.java │ │ ├── NumberFormat.java │ │ ├── ParseException.java │ │ ├── ParsePosition.java │ │ ├── RuleBasedCollator.java │ │ ├── SimpleDateFormat.java │ │ └── StringCharacterIterator.java │ └── util │ │ ├── AbstractCollection.j │ │ ├── AbstractCollection.java │ │ ├── AbstractList.j │ │ ├── AbstractList.java │ │ ├── AbstractMap.java │ │ ├── AbstractQueue.java │ │ ├── AbstractSequentialList.java │ │ ├── AbstractSet.java │ │ ├── ArrayList.java │ │ ├── Arrays.java │ │ ├── BasicMapEntry.java │ │ ├── BitSet.java │ │ ├── Bucket.java │ │ ├── Calendar.java │ │ ├── Collection.java │ │ ├── Collections.java │ │ ├── Comparator.java │ │ ├── ConcurrentModificationException.java │ │ ├── Date.java │ │ ├── Deque.java │ │ ├── Dictionary.java │ │ ├── DoubleEnumeration.java │ │ ├── EmptyStackException.java │ │ ├── Enumeration.java │ │ ├── EventListener.java │ │ ├── EventObject.java │ │ ├── GregorianCalendar.java │ │ ├── HashMap.java │ │ ├── HashSet.java │ │ ├── Hashtable.java │ │ ├── Iterator.java │ │ ├── LinkedHashMap.java │ │ ├── LinkedHashSet.java │ │ ├── LinkedList.j │ │ ├── List.java │ │ ├── ListIterator.java │ │ ├── ListResourceBundle.java │ │ ├── Locale.java │ │ ├── Map.java │ │ ├── MissingResourceException.java │ │ ├── NavigableMap.java │ │ ├── NavigableSet.java │ │ ├── NoSuchElementException.java │ │ ├── Objects.java │ │ ├── PrimitiveIterator.java │ │ ├── Properties.java │ │ ├── PropertyPermission.java │ │ ├── PropertyResourceBundle.java │ │ ├── Queue.java │ │ ├── Random.java │ │ ├── RandomAccess.java │ │ ├── ResourceBundle.java │ │ ├── Set.java │ │ ├── SimpleTimeZone.java │ │ ├── SortedMap.java │ │ ├── SortedSet.java │ │ ├── Spliterator.java │ │ ├── Spliterators.java │ │ ├── Stack.java │ │ ├── StringTokenizer.java │ │ ├── TimeZone.java │ │ ├── TooManyListenersException.java │ │ ├── TreeMap.java │ │ ├── TreeSet.java │ │ ├── Tripwire.java │ │ ├── UnsupportedOperationException.java │ │ ├── Vector.java │ │ ├── function │ │ ├── BiConsumer.java │ │ ├── BiFunction.java │ │ ├── Consumer.java │ │ ├── DoubleConsumer.java │ │ ├── Function.java │ │ ├── IntConsumer.java │ │ ├── IntUnaryOperator.java │ │ ├── LongConsumer.java │ │ ├── Supplier.java │ │ └── UnaryOperator.java │ │ ├── stream │ │ ├── IntStream.java │ │ ├── Stream.java │ │ ├── StreamSupport.java │ │ ├── Streams.j │ │ └── Streams.java │ │ └── zip │ │ ├── InflaterInputStream.java │ │ ├── ZipEntry.java │ │ ├── ZipFile.java │ │ ├── ZipInputStream.java │ │ └── ZipOutputStream.java ├── javafs │ ├── Bitmap.java │ ├── BufferHeadAccess.java │ ├── BufferIOException.java │ ├── DirEntryData.java │ ├── DirInode.java │ ├── FileInode.java │ ├── FileSystem.java │ ├── FlushDemon.java │ ├── GroupData.java │ ├── InodeBlockData.java │ ├── InodeCache.java │ ├── InodeData.java │ ├── InodeHashKey.java │ ├── InodeImpl.java │ ├── Main.java │ ├── Super.java │ ├── SuperBlockData.java │ ├── SymlinkBlockData.java │ ├── SymlinkInode.java │ └── Tools.java ├── javax │ ├── net │ │ ├── ServerSocketFactory.java │ │ └── ssl │ │ │ ├── SSLServerSocket.java │ │ │ ├── SSLServerSocketFactory.java │ │ │ ├── SSLSession.java │ │ │ └── SSLSocket.java │ └── security │ │ └── cert │ │ ├── Certificate.java │ │ └── X509Certificate.java ├── jx │ ├── InitialNaming.java │ ├── bio │ │ └── BlockIO.java │ ├── bioemul │ │ └── Main.java │ ├── bioro │ │ └── Main.java │ ├── bootrc │ │ ├── BootRC.java │ │ ├── BootRC2.java │ │ ├── ComponentSpec.java │ │ ├── ConfigFile.java │ │ ├── DomainSpec.java │ │ ├── GlobalSpec.java │ │ ├── NameNotFoundException.java │ │ ├── Pair.java │ │ ├── Record.java │ │ ├── Section.java │ │ ├── Spec.java │ │ └── StringTokenException.java │ ├── buffer │ │ ├── BufferHead.java │ │ ├── BufferList.java │ │ ├── multithread │ │ │ ├── Buffer.java │ │ │ ├── Buffer2.java │ │ │ ├── BufferConsumer.java │ │ │ ├── BufferProducer.java │ │ │ ├── MultiThreadBufferList.java │ │ │ ├── MultiThreadBufferList2.java │ │ │ └── MultiThreadList.java │ │ └── separator │ │ │ ├── MemoryConsumer.java │ │ │ ├── MemoryConsumer2.java │ │ │ ├── MemoryProducer.java │ │ │ └── NonBlockingMemoryConsumer.java │ ├── classfile │ │ ├── BC.java │ │ ├── ClassData.java │ │ ├── ClassSource.java │ │ ├── CodeData.java │ │ ├── ExceptionHandlerData.java │ │ ├── FieldData.java │ │ ├── LineAttributeData.java │ │ ├── MethodData.java │ │ ├── MethodSource.java │ │ ├── Modifier.java │ │ ├── NativeMethodException.java │ │ ├── NoMagicNumberException.java │ │ ├── VerifyResult.java │ │ ├── constantpool │ │ │ ├── ClassCPEntry.java │ │ │ ├── ClassMemberCPEntry.java │ │ │ ├── ConstantPool.java │ │ │ ├── ConstantPoolEntry.java │ │ │ ├── DummyCPEntry.java │ │ │ ├── FieldRefCPEntry.java │ │ │ ├── InterfaceMethodRefCPEntry.java │ │ │ ├── MethodRefCPEntry.java │ │ │ ├── NameAndTypeCPEntry.java │ │ │ ├── NumericCPEntry.java │ │ │ ├── StringCPEntry.java │ │ │ └── UTF8CPEntry.java │ │ └── datatypes │ │ │ ├── BCBasicDatatype.java │ │ │ ├── BCByte.java │ │ │ ├── BCDouble.java │ │ │ ├── BCFloat.java │ │ │ ├── BCFloatDatatype.java │ │ │ ├── BCInteger.java │ │ │ ├── BCIntegerDatatype.java │ │ │ ├── BCLong.java │ │ │ ├── BCNumericDatatype.java │ │ │ ├── BCReference.java │ │ │ ├── BCShort.java │ │ │ ├── BasicTypeDescriptor.java │ │ │ ├── DataType.java │ │ │ ├── MethodTypeDescriptor.java │ │ │ ├── NoClassTypeException.java │ │ │ └── TestTypeDesc.java │ ├── classstore │ │ ├── ClassFinder.java │ │ ├── ClassInformation.java │ │ ├── ClassManager.java │ │ ├── ClassStore.java │ │ ├── LoadedClass.java │ │ └── MemoryClassSource.java │ ├── collections │ │ ├── Collection.java │ │ ├── Comparator.java │ │ ├── Iterator.java │ │ ├── List.java │ │ ├── QuickSort.java │ │ └── SortedList.java │ ├── db │ │ ├── BufferList.java │ │ ├── CodedException.java │ │ ├── Database.java │ │ ├── Index.java │ │ ├── IndexInfo.java │ │ ├── Key.java │ │ ├── RelationScan.java │ │ ├── RelationalOperator.java │ │ ├── SetNumberReader.java │ │ ├── Table.java │ │ ├── TupleDescriptor.java │ │ ├── TupleReader.java │ │ ├── TupleWriter.java │ │ ├── mytypes │ │ │ ├── Converter.java │ │ │ ├── TypeManagerImpl.java │ │ │ ├── comparators │ │ │ │ ├── IntegerComparator.java │ │ │ │ └── StringComparator.java │ │ │ └── converters │ │ │ │ └── StringToByteArrayConverter.java │ │ ├── parser │ │ │ ├── JXResultSet.java │ │ │ ├── Main.java │ │ │ ├── ParseException.java │ │ │ └── Parser.java │ │ └── types │ │ │ ├── DbComparator.java │ │ │ ├── DbConverter.java │ │ │ └── TypeManager.java │ ├── devices │ │ ├── Bus.java │ │ ├── Device.java │ │ ├── DeviceConfiguration.java │ │ ├── DeviceConfigurationTemplate.java │ │ ├── DeviceFinder.java │ │ ├── DeviceInfo.java │ │ ├── KeyListener.java │ │ ├── Keyboard.java │ │ ├── Mouse.java │ │ ├── Screen.java │ │ ├── ide │ │ │ └── IDEDevice.java │ │ ├── net │ │ │ ├── NetworkConfigurationTemplate.java │ │ │ ├── NetworkDevice.java │ │ │ ├── NoMoreElementsException.java │ │ │ ├── PacketsProducer.java │ │ │ ├── PacketsQueue.java │ │ │ ├── PacketsQueueConsumer.java │ │ │ ├── PacketsQueueProducer.java │ │ │ └── emulation │ │ │ │ └── EmulNetFinder.java │ │ └── pci │ │ │ ├── CapabilityAGP.java │ │ │ ├── CapabilityPM.java │ │ │ ├── CapabilitySI.java │ │ │ ├── CapabilityVPD.java │ │ │ ├── PCI.java │ │ │ ├── PCIAccess.java │ │ │ ├── PCIAddress.java │ │ │ ├── PCICap.java │ │ │ ├── PCICapability.java │ │ │ ├── PCICodes.java │ │ │ ├── PCIDevice.java │ │ │ └── PCIGod.java │ ├── emulation │ │ ├── BlockIOFile.java │ │ ├── ClockImpl.java │ │ ├── ComponentManagerImpl.java │ │ ├── DebugChannelImpl.java │ │ ├── DomainManagerImpl.java │ │ ├── Init.java │ │ ├── MemoryImpl.java │ │ ├── MemoryManagerImpl.java │ │ ├── NamingImpl.java │ │ ├── ProfilerImpl.java │ │ └── devices │ │ │ └── ide │ │ │ ├── DebugConf.java │ │ │ └── DeviceNaming.java │ ├── framebuffer │ │ ├── ClippingRectangle.java │ │ ├── ClippingTransformer.java │ │ ├── InterlacedFramebuffer.java │ │ ├── MemoryFramebuffer.java │ │ ├── PackedFramebuffer.java │ │ ├── PackedFramebufferImpl.java │ │ └── SubFramebuffer.java │ ├── fs │ │ ├── AlreadyMountedException.java │ │ ├── DeviceNaming.java │ │ ├── DirNotEmptyException.java │ │ ├── Directory.java │ │ ├── DirectoryImpl.java │ │ ├── EXT2Attribute.java │ │ ├── EXT2Permission.java │ │ ├── ExtendedFileSystemInterface.java │ │ ├── FS.java │ │ ├── FSAttribute.java │ │ ├── FSException.java │ │ ├── FSInterfaceDomain.java │ │ ├── FSObject.java │ │ ├── FSObjectImpl.java │ │ ├── FileException.java │ │ ├── FileExistsException.java │ │ ├── FileSystem.java │ │ ├── FilesystemImpl.java │ │ ├── FilesystemInterface.java │ │ ├── Inode.java │ │ ├── InodeIOException.java │ │ ├── InodeImpl.java │ │ ├── InodeNotFoundException.java │ │ ├── NoDirectoryInodeException.java │ │ ├── NoFileInodeException.java │ │ ├── NoSymlinkInodeException.java │ │ ├── NotExistException.java │ │ ├── NotSupportedException.java │ │ ├── Permission.java │ │ ├── PermissionException.java │ │ ├── ReadOnlyDirectory.java │ │ ├── ReadOnlyDirectoryImpl.java │ │ ├── ReadOnlyRegularFile.java │ │ ├── ReadOnlyRegularFileImpl.java │ │ ├── RegularFile.java │ │ ├── RegularFileImpl.java │ │ ├── StatFS.java │ │ ├── VolumeManager.java │ │ └── buffercache │ │ │ ├── BufferCache.java │ │ │ └── BufferHead.java │ ├── net │ │ ├── AddressResolution.java │ │ ├── EtherConsumer.java │ │ ├── EtherData.java │ │ ├── EtherProducer.java │ │ ├── IPAddress.java │ │ ├── IPConsumer.java │ │ ├── IPData.java │ │ ├── IPProducer.java │ │ ├── IPReceiver.java │ │ ├── IPSender.java │ │ ├── NetInit.java │ │ ├── PacketsConsumer.java │ │ ├── PacketsConsumer1.java │ │ ├── PacketsProducer.java │ │ ├── StartNetDevice.java │ │ ├── TCPInputStream.java │ │ ├── TCPOutputStream.java │ │ ├── TCPSocket.java │ │ ├── UDPConsumer.java │ │ ├── UDPData.java │ │ ├── UDPReceiver.java │ │ ├── UDPSender.java │ │ ├── UnknownAddressException.java │ │ ├── dispatch │ │ │ ├── Dispatch.java │ │ │ └── UpperLayer.java │ │ ├── format │ │ │ └── Format.java │ │ └── protocol │ │ │ ├── arp │ │ │ ├── ARP.java │ │ │ ├── ARPCache.java │ │ │ ├── ARPFormat.java │ │ │ ├── ARPTimer.java │ │ │ └── ARPTimerArg.java │ │ │ ├── bootp │ │ │ ├── BOOTP.java │ │ │ └── BOOTPFormat.java │ │ │ ├── ether │ │ │ ├── Ether.java │ │ │ └── EtherFormat.java │ │ │ ├── icmp │ │ │ ├── ICMP.java │ │ │ └── ICMPFormat.java │ │ │ ├── ip │ │ │ ├── IP.java │ │ │ ├── IPFormat.java │ │ │ └── IPv4Utils.java │ │ │ ├── tcp │ │ │ ├── TCP.java │ │ │ ├── TCPData.java │ │ │ ├── TCPFormat.java │ │ │ ├── TCPSocket.java │ │ │ └── TCPSocketState.java │ │ │ └── udp │ │ │ ├── UDP.java │ │ │ └── UDPFormat.java │ ├── rdp │ │ ├── crypto │ │ │ ├── BlockMessageDigest.java │ │ │ ├── CryptoException.java │ │ │ ├── Key.java │ │ │ ├── MD5.java │ │ │ ├── RC4.java │ │ │ └── SHA1.java │ │ └── orders │ │ │ ├── BoundsOrder.java │ │ │ ├── Brush.java │ │ │ ├── DeskSaveOrder.java │ │ │ ├── DestBltOrder.java │ │ │ ├── LineOrder.java │ │ │ ├── MemBltOrder.java │ │ │ ├── Order.java │ │ │ ├── PatBltOrder.java │ │ │ ├── Pen.java │ │ │ ├── PolyLineOrder.java │ │ │ ├── RectangleOrder.java │ │ │ ├── ScreenBltOrder.java │ │ │ ├── Text2Order.java │ │ │ └── TriBltOrder.java │ ├── rexec │ │ ├── Decoder.java │ │ ├── Encoder.java │ │ └── server │ │ │ └── Main.j │ ├── rpc │ │ ├── Auth.java │ │ ├── AuthNone.java │ │ ├── AuthShort.java │ │ ├── AuthUnix.java │ │ ├── RPC.java │ │ ├── RPCBuffer.java │ │ ├── RPCCall.java │ │ ├── RPCContinuation.java │ │ ├── RPCData.java │ │ ├── RPCEnum.java │ │ ├── RPCException.java │ │ ├── RPCFormatterAuth.java │ │ ├── RPCFormatterAuthNone.java │ │ ├── RPCFormatterAuthShort.java │ │ ├── RPCFormatterAuthUnix.java │ │ ├── RPCFormatterRPCCall.java │ │ ├── RPCFormatterRPCHeader.java │ │ ├── RPCFormatterRPCMessage.java │ │ ├── RPCFormatterRPCMsgAccepted.java │ │ ├── RPCFormatterRPCMsgDenied.java │ │ ├── RPCFormatterRPCMsgProgMismatch.java │ │ ├── RPCFormatterRPCMsgProgUnavailable.java │ │ ├── RPCFormatterRPCMsgRejectAuth.java │ │ ├── RPCFormatterRPCMsgRejectMismatch.java │ │ ├── RPCFormatterRPCMsgSuccess.java │ │ ├── RPCFormatterRPCReply.java │ │ ├── RPCHeader.java │ │ ├── RPCInitException.java │ │ ├── RPCMessage.java │ │ ├── RPCMsgAccepted.java │ │ ├── RPCMsgDenied.java │ │ ├── RPCMsgProgMismatch.java │ │ ├── RPCMsgProgUnavailable.java │ │ ├── RPCMsgRejectAuth.java │ │ ├── RPCMsgRejectMismatch.java │ │ ├── RPCMsgSuccess.java │ │ ├── RPCOpaque.java │ │ ├── RPCOptional.java │ │ ├── RPCProc.java │ │ ├── RPCReader.java │ │ ├── RPCReply.java │ │ ├── RPCUnion.java │ │ ├── RPCWriter.java │ │ └── Waiter.java │ ├── rpcsvc │ │ ├── bind2 │ │ │ ├── RPCBind_Impl.j │ │ │ └── Service.j │ │ ├── mount1 │ │ │ ├── ExportNode.j │ │ │ ├── Exports.j │ │ │ ├── FHStatus.j │ │ │ ├── FHStatusOK.j │ │ │ ├── GroupNode.j │ │ │ ├── Groups.j │ │ │ ├── MountBody.j │ │ │ ├── MountList.j │ │ │ ├── MountProc.j │ │ │ └── MountProc_Impl.j │ │ └── nfs2 │ │ │ ├── MappedFHandle.j │ │ │ ├── NFSException.j │ │ │ ├── NFSInode.j │ │ │ ├── NFSMountError.j │ │ │ └── NFSProc_Impl.j │ ├── rtc │ │ ├── RTC.java │ │ └── RTCImpl.java │ ├── scheduler │ │ ├── HLRRobin.java │ │ ├── HLRRobin_all.java │ │ ├── HLRRobin_mini.java │ │ ├── HLRRobin_nonpreemptive.java │ │ ├── JAVARRobin.java │ │ ├── LLMtR.java │ │ ├── LLRRobin.java │ │ ├── LLRRobinTest.java │ │ ├── LinkedList.java │ │ ├── LinkedListCAS.java │ │ ├── SchedulerPortal.java │ │ ├── SuperHLRRobin.java │ │ ├── ThreadList.java │ │ └── ThreadListCAS.java │ ├── secmgr │ │ ├── BlockIOSecurityPolicy.java │ │ ├── FileSystemSecurityPolicy.java │ │ ├── MySecurityPolicy.java │ │ ├── Principal_impl.java │ │ ├── SecMgr.java │ │ └── SecMgrSecurityPolicy.java │ ├── synch │ │ ├── blocking │ │ │ ├── Queue.java │ │ │ └── Test.java │ │ ├── mutex │ │ │ ├── BlockingLock.java │ │ │ ├── BlockingLockImpl.java │ │ │ └── Test.java │ │ └── nonblocking2 │ │ │ ├── MPSCQueue.java │ │ │ ├── Queue.java │ │ │ ├── QueueEmptyException.java │ │ │ ├── SPSCQueue.java │ │ │ └── Test.java │ ├── timer │ │ ├── SleepManager.java │ │ ├── Timer.java │ │ ├── TimerHandler.java │ │ └── TimerManager.java │ ├── verifier │ │ ├── CharIter.java │ │ ├── ClassTree.java │ │ ├── ClassTreeElement.java │ │ ├── JVMLocalVars.java │ │ ├── JVMLocalVarsElement.java │ │ ├── JVMOPStack.java │ │ ├── JVMOPStackElement.java │ │ ├── JVMSRLocalVars.java │ │ ├── JVMState.java │ │ ├── MethodVerifier.java │ │ ├── SubroutineData.java │ │ ├── SubroutineVerifier.java │ │ ├── Subroutines.java │ │ ├── Verifier.java │ │ ├── VerifierInterface.java │ │ ├── VerifierOptions.java │ │ ├── VerifyException.java │ │ ├── bytecode │ │ │ ├── BCBranch.java │ │ │ ├── BCCPArgOp.java │ │ │ ├── BCLinkList.java │ │ │ ├── BCLinkListEntry.java │ │ │ ├── BCMultiBranch.java │ │ │ ├── BCWideOp.java │ │ │ ├── ByteCode.java │ │ │ ├── ByteIterator.java │ │ │ └── ExceptionHandler.java │ │ ├── checkInstruction │ │ │ ├── cInstrResult.java │ │ │ └── checkInstruction.java │ │ ├── fla │ │ │ ├── FLAResult.java │ │ │ └── FinalAndLeafAnalysis.java │ │ ├── npa │ │ │ ├── NPABCEffect.java │ │ │ ├── NPALocalVars.java │ │ │ ├── NPALocalVarsElement.java │ │ │ ├── NPALocalVarsInterface.java │ │ │ ├── NPAResult.java │ │ │ ├── NPASRLocalVars.java │ │ │ ├── NPAStack.java │ │ │ ├── NPAStackElement.java │ │ │ ├── NPAState.java │ │ │ ├── NPAValue.java │ │ │ └── NullPointerAnalysis.java │ │ ├── typecheck │ │ │ ├── BCStackEffect.java │ │ │ ├── OPStack.java │ │ │ ├── OPStackElement.java │ │ │ ├── TCArrayTypes.java │ │ │ ├── TCInterfaceTypes.java │ │ │ ├── TCLocalVars.java │ │ │ ├── TCLocalVarsElement.java │ │ │ ├── TCLocalVarsInterface.java │ │ │ ├── TCObjectTypes.java │ │ │ ├── TCRAType.java │ │ │ ├── TCSRLocalVars.java │ │ │ ├── TCState.java │ │ │ ├── TCTypes.java │ │ │ └── TypeCheck.java │ │ └── wcet │ │ │ ├── BCEffectPass0.java │ │ │ ├── BCEffectPass2.java │ │ │ ├── BasicBlock.java │ │ │ ├── BasicBlockList.java │ │ │ ├── CFGBBEdge.java │ │ │ ├── CFGEdge.java │ │ │ ├── CFGNode.java │ │ │ ├── CFGNodeList.java │ │ │ ├── CFGParentList.java │ │ │ ├── CFGR1Edge.java │ │ │ ├── CFGR2aEdge.java │ │ │ ├── CFGR2bEdge.java │ │ │ ├── CFGR3Node.java │ │ │ ├── CFGraph.java │ │ │ ├── ExecutionTime.java │ │ │ ├── InteractiveValueProvider.java │ │ │ ├── OpenException.java │ │ │ ├── OpenIfList.java │ │ │ ├── OpenIfListElement.java │ │ │ ├── RTTimeBound.java │ │ │ ├── SimData.java │ │ │ ├── SimInt.java │ │ │ ├── SimMarkList.java │ │ │ ├── SimState.java │ │ │ ├── SimpleExecutionTime.java │ │ │ ├── StaticValueProvider.java │ │ │ ├── TestClass.java │ │ │ ├── ValueProvider.java │ │ │ ├── WCETAnalysis.java │ │ │ ├── WCETLocalVars.java │ │ │ ├── WCETLocalVarsElement.java │ │ │ ├── WCETResult.java │ │ │ ├── WCETSRLocalVars.java │ │ │ ├── WCETStack.java │ │ │ ├── WCETStackElement.java │ │ │ ├── WCETState.java │ │ │ └── WCETimeExceededException.java │ ├── xdr │ │ ├── Format.java │ │ ├── FormatMem.java │ │ └── XDRBuffer.java │ ├── zero │ │ ├── ByteCodeTranslater.java │ │ ├── Debug.java │ │ ├── DomainStarter.java │ │ ├── DomainTerminatedException.java │ │ ├── LookupHelper.java │ │ ├── MemoryExhaustedException.java │ │ ├── debug │ │ │ ├── DebugInputStream.java │ │ │ ├── DebugOutputStream.java │ │ │ ├── DebugPrintStream.java │ │ │ └── Dump.java │ │ ├── env │ │ │ ├── ConditionalVariables.java │ │ │ └── Monitor.java │ │ ├── memory │ │ │ ├── MemoryInputStream.java │ │ │ └── MemoryOutputStream.java │ │ └── timing │ │ │ └── Control.java │ └── zip │ │ ├── ZipEntry.java │ │ └── ZipFile.java ├── metaxa │ └── os │ │ └── devices │ │ └── net │ │ ├── AdapterLimits.java │ │ ├── Befehl.java │ │ ├── BitNotExistingException.java │ │ ├── BitPosition.java │ │ ├── CapabilitiesWord.java │ │ ├── ComInit.java │ │ ├── ComInit.java.MOS │ │ ├── CompatabilityWord.java │ │ ├── ConnectorType.java │ │ ├── D3C905.java │ │ ├── D3C905Exception.java │ │ ├── DpdListEntry.java │ │ ├── Eeprom.java │ │ ├── EthernetAdress.java │ │ ├── LinkSpeedException.java │ │ ├── ListEntry.java │ │ ├── MIIMediaOverrideException.java │ │ ├── ManufacturingData.java │ │ ├── Mii.java │ │ ├── MultiCast.java │ │ ├── NicHardwareInformation.java │ │ ├── NicInformation.java │ │ ├── NicPciInformation.java │ │ ├── NicStatistics.java │ │ ├── NicStatusFailure.java │ │ ├── NicTimer.java │ │ ├── NicTimerArg.java │ │ ├── PciParameters1.java │ │ ├── ReadMIIException.java │ │ ├── Register.java │ │ ├── Resourcen.java │ │ ├── RomInformation.java │ │ ├── Softlimits.java │ │ ├── SoftwareInformation1.java │ │ ├── SoftwareInformation2.java │ │ ├── SoftwareInformation3.java │ │ ├── UndefinedConnectorException.java │ │ ├── UnknownConnectorType.java │ │ ├── UnknownLinkState.java │ │ ├── UpdListEntry.java │ │ ├── WaitCases.java │ │ ├── WaitTimer.java │ │ ├── WaitTimerArg.java │ │ ├── WaitTimerGlobal.java │ │ ├── WrongDate.java │ │ └── WrongEthernetAdressFormat.java ├── sun │ ├── security │ │ └── provider │ │ │ └── Sun.java │ └── tools │ │ └── javac │ │ └── Main.java └── timerpc │ ├── SleepManagerImpl.java │ ├── StartTimer.java │ ├── TimerEntry.java │ └── TimerManagerImpl.java └── test └── test └── JUnitTest.java /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | patreon: sPyPatreon 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | /build/ 3 | private -------------------------------------------------------------------------------- /META: -------------------------------------------------------------------------------- 1 | NEEDLIBS = zero 2 | #NEEDLIBS += scheduler 3 | #NEEDLIBS += secmgr_impl 4 | 5 | SUBDIRS = gnu/java/math gnu/java/io gnu/java/security 6 | SUBDIRS += java/security/interfaces java/text java/io java/lang java/util java/security java/net java/security/spec java/security/cert 7 | SUBDIRS += metaxa/os/devices/net timerpc javafs buffercache 8 | SUBDIRS += bioram jx 9 | 10 | LIBNAME = jdk0 11 | NUMBERENV = float 12 | MAPPING0 = java/lang/String.value:value 13 | MAPPING1 = java/lang/String.value:value 14 | MAINTAINER = golm@cs.fau.de 15 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Java OS 2 | ======= 3 | 4 | This is a Java OS project. It is a microkernel operating system. The applications is implemented with the Java programming language. 5 | This library consist of a JDK. You can use it to build your own software for this operating system. 6 | 7 | Build 8 | ----- 9 | Run following command to get the source code: 10 | 11 | git clone git://s55969da3.adsl.online.nl/jx/os.git 12 | 13 | This is a NetBean projecct. It requires a Bytecode `Compiler `_ and a microkernel `jcore `_ to function. 14 | -------------------------------------------------------------------------------- /manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | X-COMMENT: Main-Class will be added automatically by build 3 | 4 | -------------------------------------------------------------------------------- /nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=cd4a6cb8 2 | build.xml.script.CRC32=83ec6d26 3 | build.xml.stylesheet.CRC32=f85dc8f2@1.91.1.48 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=cd4a6cb8 7 | nbproject/build-impl.xml.script.CRC32=61c954ff 8 | nbproject/build-impl.xml.stylesheet.CRC32=3a2fa800@1.91.1.48 9 | -------------------------------------------------------------------------------- /nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | OS 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Zero 18 | jar 19 | 20 | jar 21 | clean 22 | jar 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/buffercache/BufferFreeList.java: -------------------------------------------------------------------------------- 1 | package buffercache; 2 | 3 | import jx.buffer.BufferList; 4 | 5 | /** 6 | * Requirements: 7 | * -every BufferHead is part of at most one list 8 | */ 9 | 10 | final class BufferFreeList extends BufferList { 11 | 12 | boolean contains(BufferHead bh) { 13 | return bh.inlist; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/KeyManager.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl; 2 | public class KeyManager { 3 | } 4 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/KeyManagerFactory.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl; 2 | public class KeyManagerFactory { 3 | public com.sun.net.ssl.KeyManagerFactory getInstance(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void init(java.security.KeyStore arg0, char[] arg1) { throw new Error("NOT IMPLEMENTED"); } 5 | public com.sun.net.ssl.KeyManager[] getKeyManagers() { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/SSLContext.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl; 2 | public class SSLContext { 3 | public com.sun.net.ssl.SSLContext getInstance(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void init(com.sun.net.ssl.KeyManager[] arg0, com.sun.net.ssl.TrustManager[] arg1, java.security.SecureRandom arg2) { throw new Error("NOT IMPLEMENTED"); } 5 | public javax.net.ssl.SSLServerSocketFactory getServerSocketFactory() { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/TrustManager.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl; 2 | public class TrustManager { 3 | } 4 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/TrustManagerFactory.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl; 2 | public class TrustManagerFactory { 3 | public com.sun.net.ssl.TrustManagerFactory getInstance(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void init(java.security.KeyStore arg0) { throw new Error("NOT IMPLEMENTED"); } 5 | public com.sun.net.ssl.TrustManager[] getTrustManagers() { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/com/sun/net/ssl/internal/ssl/Provider.java: -------------------------------------------------------------------------------- 1 | package com.sun.net.ssl.internal.ssl; 2 | public class Provider { 3 | public void Provider() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/db/avltree/Comparable.java: -------------------------------------------------------------------------------- 1 | /*************************** Comparable.java *******************************/ 2 | 3 | 4 | package db.avltree; 5 | 6 | 7 | /** Das Interface deklariert eine Methode, anhand der sich das 8 | * aufgerufene Objekt mit dem uebergebenen vergleicht. 9 | * Fuer jeden von Object abgeleiteten Datentyp muss eine solche 10 | * Vergleichsklasse implementiert werden. 11 | * Die Methode erzeugt eine Fehlermeldung, wenn a ein Objekt einer anderen 12 | * Klasse als dieses Objekt ist. 13 | * 14 | * int compareTo(Comparable a) 15 | * liefert 0, wenn this == a 16 | * liefert <0, wenn this < a 17 | * liefert >0, wenn this > a 18 | */ 19 | public interface Comparable { 20 | 21 | public int compareTo(Comparable a); 22 | } 23 | -------------------------------------------------------------------------------- /src/db/systembuffer/strategy/PageStrategyRecord.java: -------------------------------------------------------------------------------- 1 | package db.systembuffer.strategy; 2 | 3 | /** this interface is used by the PageBuffer objects to obtain information about the paged in pages 4 | */ 5 | public interface PageStrategyRecord { 6 | /** returns the fix counter of the requested page 7 | * @return fix counter of the requested page 8 | */ 9 | public int getFixCnt(); 10 | /** returns the dirty flag of the requested page 11 | * @return dirty flag of the requested page 12 | */ 13 | public boolean getDirtyFlag(); 14 | /** returns the page number of the page described in this {@link PageStrategyRecord} object 15 | * @return page number of the page described in this {@link PageStrategyRecord} object 16 | */ 17 | public int getPageNum(); 18 | /** returns a byte array containing the page data 19 | * @return byte array containing the page data 20 | */ 21 | public byte[] getPage(); 22 | } 23 | -------------------------------------------------------------------------------- /src/java/awt/peer/PanelPeer.java: -------------------------------------------------------------------------------- 1 | package java.awt.peer; 2 | 3 | /** 4 | * Class PanelPeer - Peer Interface for a panel instance 5 | * written by Marco Winter 6 | */ 7 | 8 | public interface PanelPeer 9 | extends ContainerPeer { 10 | } 11 | -------------------------------------------------------------------------------- /src/java/io/CharArrayReader.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | public class CharArrayReader { 3 | public void CharArrayReader(char[] arg0, int arg1, int arg2) { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/io/CharArrayWriter.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | public class CharArrayWriter { 3 | public void CharArrayWriter() { throw new Error("NOT IMPLEMENTED"); } 4 | public java.lang.String toString() { throw new Error("NOT IMPLEMENTED"); } 5 | public void write(char[] arg0, int arg1, int arg2) { throw new Error("NOT IMPLEMENTED"); } 6 | public void close() { throw new Error("NOT IMPLEMENTED"); } 7 | public char[] toCharArray() { throw new Error("NOT IMPLEMENTED"); } 8 | public void write(int arg0) { throw new Error("NOT IMPLEMENTED"); } 9 | public void write(java.lang.String arg0, int arg1, int arg2) { throw new Error("NOT IMPLEMENTED"); } 10 | public void writeTo(java.io.Writer arg0) { throw new Error("NOT IMPLEMENTED"); } 11 | } 12 | -------------------------------------------------------------------------------- /src/java/io/DataInput.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public interface DataInput { 4 | void readFully(byte b[]) throws IOException; 5 | void readFully(byte b[], int off, int len) throws IOException; 6 | int skipBytes(int n) throws IOException; 7 | boolean readBoolean() throws IOException; 8 | byte readByte() throws IOException; 9 | int readUnsignedByte() throws IOException; 10 | short readShort() throws IOException; 11 | int readUnsignedShort() throws IOException; 12 | char readChar() throws IOException; 13 | int readInt() throws IOException; 14 | long readLong() throws IOException; 15 | float readFloat() throws IOException; 16 | double readDouble() throws IOException; 17 | String readLine() throws IOException; 18 | String readUTF() throws IOException; 19 | } 20 | -------------------------------------------------------------------------------- /src/java/io/DataOutput.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public interface DataOutput { 4 | void write(int b) throws IOException; 5 | void write(byte b[]) throws IOException; 6 | void write(byte b[], int off, int len) throws IOException; 7 | void writeBoolean(boolean v) throws IOException; 8 | void writeByte(int v) throws IOException; 9 | void writeShort(int v) throws IOException; 10 | void writeChar(int v) throws IOException; 11 | void writeInt(int v) throws IOException; 12 | void writeLong(long v) throws IOException; 13 | void writeFloat(float v) throws IOException; 14 | void writeDouble(double v) throws IOException; 15 | void writeBytes(String s) throws IOException; 16 | void writeChars(String s) throws IOException; 17 | void writeUTF(String str) throws IOException; 18 | } 19 | -------------------------------------------------------------------------------- /src/java/io/EOFException.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class EOFException extends IOException { 4 | public EOFException() {super();} 5 | public EOFException(String s) {super(s);} 6 | } 7 | -------------------------------------------------------------------------------- /src/java/io/FileDescriptor.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public final class FileDescriptor 4 | { 5 | public final static FileDescriptor in = new FileDescriptor(0); 6 | public final static FileDescriptor out = new FileDescriptor(1); 7 | public final static FileDescriptor err = new FileDescriptor(2); 8 | 9 | int fd = -1; // keep this to be compatible with native io (e.g., sockets, console) 10 | 11 | public FileDescriptor() {} 12 | private FileDescriptor(int fd) {this.fd = fd;} 13 | public boolean valid() {return (fd >= 0);} 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/java/io/FileNotFoundException.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class FileNotFoundException extends IOException { 4 | public FileNotFoundException() { 5 | super(); 6 | } 7 | public FileNotFoundException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/java/io/FilePermission.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | public class FilePermission { 3 | public void FilePermission(java.lang.String arg0, java.lang.String arg1) { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/io/FileWriter.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | public class FileWriter { 3 | public void FileWriter(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void FileWriter(java.io.File arg0) { throw new Error("NOT IMPLEMENTED"); } 5 | public void FileWriter(java.lang.String arg0, boolean arg1) { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/java/io/FilterOutputStream.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class FilterOutputStream extends OutputStream { 4 | protected OutputStream out; 5 | 6 | public FilterOutputStream(OutputStream o) { 7 | this.out = o; 8 | } 9 | 10 | @Override 11 | public void write(int a) throws IOException {out.write(a);} 12 | } 13 | -------------------------------------------------------------------------------- /src/java/io/InterruptedIOException.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class InterruptedIOException extends IOException { 4 | public InterruptedIOException() {super();} 5 | public InterruptedIOException(String s) {super(s);} 6 | } 7 | -------------------------------------------------------------------------------- /src/java/io/ObjectIdentityWrapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.io; 7 | 8 | /** 9 | * 10 | * @author spy 11 | */ 12 | class ObjectIdentityWrapper { 13 | 14 | public ObjectIdentityWrapper(Object obj) { 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/java/io/OutputStream.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public abstract class OutputStream 4 | { 5 | public void close() throws IOException 6 | { 7 | } 8 | 9 | public void flush() throws IOException 10 | { 11 | } 12 | 13 | public abstract void write(int b) throws IOException; 14 | 15 | public synchronized void write(byte[] b, int off, int len) throws IOException 16 | { 17 | for (int i = 0; i < len; i++) 18 | write(b[off + i]); 19 | } 20 | 21 | public void write(byte[] b) throws IOException 22 | { 23 | write(b, 0, b.length); 24 | } 25 | 26 | public OutputStream() 27 | { 28 | } 29 | } 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/java/io/Serializable.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public interface Serializable { 4 | } 5 | -------------------------------------------------------------------------------- /src/java/io/StringWriter.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | public class StringWriter { 3 | public void StringWriter() { throw new Error("NOT IMPLEMENTED"); } 4 | public java.lang.String toString() { throw new Error("NOT IMPLEMENTED"); } 5 | public void close() { throw new Error("NOT IMPLEMENTED"); } 6 | public java.lang.StringBuffer getBuffer() { throw new Error("NOT IMPLEMENTED"); } 7 | } 8 | -------------------------------------------------------------------------------- /src/java/io/UTFDataFormatException.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class UTFDataFormatException extends IOException { 4 | public UTFDataFormatException() { super(); } 5 | public UTFDataFormatException(String msg) { super(msg);} 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/java/io/UnsupportedEncodingException.java: -------------------------------------------------------------------------------- 1 | package java.io; 2 | 3 | public class UnsupportedEncodingException extends IOException { 4 | public UnsupportedEncodingException() {super();} 5 | public UnsupportedEncodingException(String s) {super(s);} 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/java/lang/ArrayIndexOutOfBoundsException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException { 4 | public ArrayIndexOutOfBoundsException() { super(); } 5 | public ArrayIndexOutOfBoundsException(String s) { super(s); } 6 | public ArrayIndexOutOfBoundsException(int index) { this("Array index out of bounds: " + index); } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/java/lang/Byte.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | public class Byte { 3 | 4 | public static Class TYPE; 5 | 6 | public Byte(byte b) { 7 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 8 | } 9 | public void Byte(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 10 | public void Byte(byte arg0) { throw new Error("NOT IMPLEMENTED"); } 11 | @Override 12 | public java.lang.String toString() { throw new Error("NOT IMPLEMENTED"); } 13 | public byte parseByte(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 14 | public java.lang.Byte valueOf(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 15 | 16 | public byte byteValue() { 17 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/java/lang/ClassNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * java.lang.ClassNotFoundException 3 | * 4 | * (c) 1997 George David Morrison 5 | * 6 | * API version: 1.0.2 7 | * 8 | * History: 9 | * 01JAN1997 George David Morrison 10 | * Initial version 11 | */ 12 | 13 | package java.lang; 14 | 15 | public class ClassNotFoundException extends Exception 16 | { 17 | public ClassNotFoundException() 18 | { 19 | super(); 20 | } 21 | 22 | public ClassNotFoundException(String s) 23 | { 24 | super(s); 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/java/lang/CloneNotSupportedException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class CloneNotSupportedException extends Exception { 4 | public CloneNotSupportedException() { super(); } 5 | public CloneNotSupportedException(String msg) { super(msg); } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/java/lang/Cloneable.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public interface Cloneable 4 | { 5 | } 6 | 7 | -------------------------------------------------------------------------------- /src/java/lang/Comparable.java: -------------------------------------------------------------------------------- 1 | /*************************** Comparable.java *******************************/ 2 | 3 | package java.lang; 4 | 5 | /** Das Interface deklariert eine Methode, anhand der sich das 6 | * aufgerufene Objekt mit dem uebergebenen vergleicht. 7 | * Fuer jeden von Object abgeleiteten Datentyp muss eine solche 8 | * Vergleichsklasse implementiert werden. 9 | * Die Methode erzeugt eine Fehlermeldung, wenn a ein Objekt einer anderen 10 | * Klasse als dieses Objekt ist. 11 | * 12 | * int compareTo(Comparable a) 13 | * liefert 0, wenn this == a 14 | * liefert <0, wenn this < a 15 | * liefert >0, wenn this > a 16 | */ 17 | 18 | public interface Comparable { 19 | public int compareTo(T a); 20 | } 21 | -------------------------------------------------------------------------------- /src/java/lang/Error.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Error extends Throwable { 4 | public Error() { super(); } 5 | public Error(String s) { super(s); } 6 | public Error(String message, Throwable cause) { 7 | super(message, cause); 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/java/lang/IllegalArgumentException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * java.lang.IllegalArgumentException 3 | * 4 | * (c) 1997 George David Morrison 5 | * 6 | * API version: 1.0.2 7 | * 8 | * History: 9 | * 01JAN1997 George David Morrison 10 | * Initial version 11 | */ 12 | 13 | package java.lang; 14 | 15 | public class IllegalArgumentException extends RuntimeException 16 | { 17 | public IllegalArgumentException() 18 | { 19 | super(); 20 | } 21 | 22 | public IllegalArgumentException(String s) 23 | { 24 | super(s); 25 | } 26 | 27 | IllegalArgumentException(String selfcausation_not_permitted, Throwable aThis) { 28 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 29 | } 30 | public IllegalArgumentException(Throwable cause) { 31 | super(cause); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/java/lang/IllegalMonitorStateException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class IllegalMonitorStateException extends RuntimeException { 4 | 5 | public IllegalMonitorStateException() 6 | { 7 | super(); 8 | } 9 | 10 | public IllegalMonitorStateException(String msg) 11 | { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/java/lang/IllegalThreadStateException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class IllegalThreadStateException extends IllegalArgumentException { 4 | public IllegalThreadStateException() { super(); } 5 | public IllegalThreadStateException(String s) { super(s); } 6 | } 7 | -------------------------------------------------------------------------------- /src/java/lang/IndexOutOfBoundsException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class IndexOutOfBoundsException extends RuntimeException 4 | { 5 | public IndexOutOfBoundsException() { 6 | super(); 7 | } 8 | 9 | public IndexOutOfBoundsException(String s) { 10 | super(s); 11 | } 12 | 13 | 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/java/lang/InstantiationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * java.lang.InstantiationException 3 | * 4 | * (c) 1997 George David Morrison 5 | * 6 | * API version: 1.0.2 7 | * 8 | * History: 9 | * 01JAN1997 George David Morrison 10 | * Initial version 11 | */ 12 | 13 | package java.lang; 14 | 15 | public class InstantiationException extends Exception 16 | { 17 | public InstantiationException() 18 | { 19 | super(); 20 | } 21 | 22 | public InstantiationException(String s) 23 | { 24 | super(s); 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/java/lang/InterruptedException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class InterruptedException extends Exception { 4 | public InterruptedException() { super(); } 5 | public InterruptedException(String msg) { super(msg); } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/java/lang/NoClassDefFoundError.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class NoClassDefFoundError extends RuntimeException 4 | { 5 | public NoClassDefFoundError() {super(); } 6 | public NoClassDefFoundError(String msg) {super(msg); } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/java/lang/NullPointerException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class NullPointerException extends RuntimeException { 4 | public NullPointerException() { super(); } 5 | public NullPointerException(String s) { super(s); } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/java/lang/Number.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | import java.io.Serializable; 4 | 5 | public abstract class Number implements Serializable { 6 | public Number() {} 7 | public abstract int intValue(); 8 | public abstract long longValue(); 9 | /* 10 | public abstract float floatValue(); 11 | public abstract double doubleValue(); 12 | */ 13 | public byte byteValue() { 14 | return (byte) intValue(); 15 | } 16 | public short shortValue() { 17 | return (short) intValue(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/java/lang/NumberFormatException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * java.lang.NumberFormatException 3 | * 4 | * (c) 1997 George David Morrison 5 | * 6 | * API version: 1.0.2 7 | * 8 | * History: 9 | * 01JAN1997 George David Morrison 10 | * Initial version 11 | */ 12 | 13 | package java.lang; 14 | 15 | public class NumberFormatException extends IllegalArgumentException 16 | { 17 | public NumberFormatException() 18 | { 19 | super(); 20 | } 21 | 22 | public NumberFormatException(String s) 23 | { 24 | super(s); 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/java/lang/OutOfMemoryError.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class OutOfMemoryError extends VirtualMachineError { 4 | 5 | public OutOfMemoryError(String message) { 6 | super(message); 7 | } 8 | public OutOfMemoryError(){} 9 | } 10 | -------------------------------------------------------------------------------- /src/java/lang/Process.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | public class Process { 3 | public java.io.InputStream getErrorStream() { throw new Error("NOT IMPLEMENTED"); } 4 | public int waitFor() { throw new Error("NOT IMPLEMENTED"); } 5 | public int exitValue() { throw new Error("NOT IMPLEMENTED"); } 6 | public void destroy() { throw new Error("NOT IMPLEMENTED"); } 7 | } 8 | -------------------------------------------------------------------------------- /src/java/lang/Runnable.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public interface Runnable { 4 | public void run(); 5 | } 6 | -------------------------------------------------------------------------------- /src/java/lang/RuntimeException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class RuntimeException extends Exception { 4 | static final long serialVersionUID = -7034897190745766939L; 5 | public RuntimeException() { super(); } 6 | public RuntimeException(String s) { super(s); } 7 | public RuntimeException(Throwable cause) { 8 | super(cause); 9 | } 10 | public RuntimeException(String s, Throwable cause) { 11 | super(s, cause); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/java/lang/RuntimePermission.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | public class RuntimePermission { 3 | public void RuntimePermission(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/lang/Short.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class Short { 4 | public static Class TYPE; 5 | public static int MAX_VALUE = 256; 6 | 7 | public Short(short s) { 8 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 9 | } 10 | 11 | public void Short(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 12 | public void Short(short arg0) { throw new Error("NOT IMPLEMENTED"); } 13 | public java.lang.String toString() { throw new Error("NOT IMPLEMENTED"); } 14 | public short parseShort(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 15 | public java.lang.String toString(short arg0) { throw new Error("NOT IMPLEMENTED"); } 16 | public short shortValue() { throw new Error("NOT IMPLEMENTED"); } 17 | } 18 | -------------------------------------------------------------------------------- /src/java/lang/StackTraceElement.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public final class StackTraceElement { 4 | String className, methodName; 5 | int bytecode, line; 6 | @Override 7 | public String toString() { 8 | return className + "." + methodName + ", bytecode " + bytecode + ", line " + line; 9 | } 10 | } -------------------------------------------------------------------------------- /src/java/lang/StringIndexOutOfBoundsException.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class StringIndexOutOfBoundsException extends RuntimeException { 4 | public StringIndexOutOfBoundsException() { super(); } 5 | public StringIndexOutOfBoundsException(String s) { super(s); } 6 | public StringIndexOutOfBoundsException(int index) { super("Index=" + index); } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/java/lang/ThreadDeath.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class ThreadDeath extends Error {} 4 | -------------------------------------------------------------------------------- /src/java/lang/VirtualMachineError.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public class VirtualMachineError extends Error { 4 | public VirtualMachineError(String message) { 5 | super(message); 6 | } 7 | public VirtualMachineError(){ 8 | 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/java/lang/Void.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.lang; 27 | 28 | /** 29 | * The {@code Void} class is an uninstantiable placeholder class to hold a 30 | * reference to the {@code Class} object representing the Java keyword 31 | * void. 32 | * 33 | * @author unascribed 34 | * @since JDK1.1 35 | */ 36 | public final 37 | class Void { 38 | 39 | /** 40 | * The {@code Class} object representing the pseudo-type corresponding to 41 | * the keyword {@code void}. 42 | */ 43 | @SuppressWarnings("unchecked") 44 | public static final Class TYPE = (Class) Class.getPrimitiveClass("void"); 45 | 46 | /* 47 | * The Void class cannot be instantiated. 48 | */ 49 | private Void() {} 50 | } 51 | -------------------------------------------------------------------------------- /src/java/lang/invoke/DirectMethodHandle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.lang.invoke; 27 | 28 | import java.lang.reflect.Method; 29 | //import static java.lang.invoke.MethodHandleNatives.Constants.*; 30 | import java.lang.ref.WeakReference; 31 | import java.lang.reflect.Field; 32 | 33 | /** 34 | * The flavor of method handle which implements a constant reference 35 | * to a class member. 36 | * @author jrose 37 | */ 38 | class DirectMethodHandle extends MethodHandle { 39 | //final MemberName member; 40 | 41 | // Constructors and factory methods in this class *must* be package scoped or private. 42 | private DirectMethodHandle(MethodType mtype, LambdaForm form, MemberName member) { 43 | super(mtype, form); 44 | 45 | } 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/java/lang/invoke/MethodHandleInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.lang.invoke; 7 | 8 | import java.lang.invoke.MethodHandles.Lookup; 9 | import java.lang.reflect.Member; 10 | 11 | /** 12 | * 13 | * @author spy 14 | */ 15 | public interface MethodHandleInfo { 16 | 17 | static int REF_newInvokeSpecial = 0; 18 | static int REF_invokeVirtual = 0; 19 | static int REF_invokeSpecial =0; 20 | static int REF_invokeInterface=0; 21 | 22 | int getReferenceKind(); 23 | 24 | Class getDeclaringClass(); 25 | 26 | MethodType getMethodType(); 27 | 28 | public String getName(); 29 | 30 | public T reflectAs(Class expected, Lookup lookup); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/java/lang/invoke/MethodHandleNatives.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.lang.invoke; 27 | 28 | //import java.lang.invoke.MethodHandles.Lookup; 29 | import java.lang.reflect.Field; 30 | //import static java.lang.invoke.MethodHandleNatives.Constants.*; 31 | import static java.lang.invoke.MethodHandleStatics.*; 32 | //import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; 33 | 34 | /** 35 | * The JVM interface for the method handles package is all here. 36 | * This is an interface internal and private to an implementation of JSR 292. 37 | * This class is not part of the JSR 292 standard. 38 | * @author jrose 39 | */ 40 | class MethodHandleNatives { 41 | 42 | private MethodHandleNatives() { } // static only 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/java/lang/invoke/MethodHandleStatics.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.lang.invoke; 27 | 28 | import java.security.AccessController; 29 | import java.security.PrivilegedAction; 30 | 31 | /** 32 | * This class consists exclusively of static names internal to the 33 | * method handle implementation. 34 | * Usage: {@code import static java.lang.invoke.MethodHandleStatics.*} 35 | * @author John Rose, JSR 292 EG 36 | */ 37 | /*non-public*/ class MethodHandleStatics { 38 | 39 | private MethodHandleStatics() { } // do not instantiate 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/java/lang/invoke/Name.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.lang.invoke; 7 | 8 | /** 9 | * 10 | * @author spy 11 | */ 12 | class Name { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/java/lang/invoke/ValueConversions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.lang.invoke; 7 | 8 | /** 9 | * 10 | * @author spy 11 | */ 12 | class ValueConversions { 13 | 14 | static MethodHandle ignore() { 15 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 16 | } 17 | 18 | static MethodHandle unboxExact(Wrapper w) { 19 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/java/lang/invoke/VerifyType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.lang.invoke; 7 | 8 | /** 9 | * 10 | * @author spy 11 | */ 12 | class VerifyType { 13 | 14 | static boolean isNullConversion(Class src, Class dst, boolean strict) { 15 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 16 | } 17 | 18 | static Class spreadArgElementType(Class spreadArgType, int i) { 19 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/java/lang/ref/Reference.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package java.lang.ref; 7 | 8 | /** 9 | * 10 | * @author spy 11 | */ 12 | public class Reference { 13 | 14 | volatile ReferenceQueue queue; 15 | @SuppressWarnings("rawtypes") 16 | Reference next; 17 | private T referent; 18 | Reference(T referent) { 19 | this(referent, null); 20 | } 21 | 22 | Reference(T referent, ReferenceQueue queue) { 23 | this.referent = referent; 24 | this.queue = null;//(queue == null) ? ReferenceQueue.NULL : queue; 25 | } 26 | public T get() { 27 | return this.referent; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/java/lang/ref/ReferenceQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.lang.ref; 27 | 28 | /** 29 | * Reference queues, to which registered reference objects are appended by the 30 | * garbage collector after the appropriate reachability changes are detected. 31 | * 32 | * @author Mark Reinhold 33 | * @since 1.2 34 | */ 35 | 36 | public class ReferenceQueue { 37 | 38 | /** 39 | * Constructs a new reference-object queue. 40 | */ 41 | public ReferenceQueue() { } 42 | 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/java/lang/reflect/Constructor.java: -------------------------------------------------------------------------------- 1 | package java.lang.reflect; 2 | 3 | import jx.zero.VMClass; 4 | import jx.zero.VMMethod; 5 | 6 | public class Constructor { 7 | VMMethod method; 8 | VMClass vmclass; 9 | Class c; 10 | Class[] param; 11 | public Constructor(Class c, Class[] param) { 12 | this.c = c; 13 | this.param = param; 14 | } 15 | public java.lang.Object newInstance(java.lang.Object[] arg0) { 16 | throw new Error("NOT IMPLEMENTED"); 17 | } 18 | public java.lang.Class getDeclaringClass() { throw new Error("NOT IMPLEMENTED"); } 19 | public java.lang.Class[] getExceptionTypes() { throw new Error("NOT IMPLEMENTED"); } 20 | public int getModifiers() { throw new Error("NOT IMPLEMENTED"); } 21 | public java.lang.Class[] getParameterTypes() { throw new Error("NOT IMPLEMENTED"); } 22 | } 23 | -------------------------------------------------------------------------------- /src/java/lang/reflect/Method.java: -------------------------------------------------------------------------------- 1 | package java.lang.reflect; 2 | public class Method { 3 | public java.lang.String getName() { throw new Error("NOT IMPLEMENTED"); } 4 | public java.lang.Object invoke(java.lang.Object arg0, java.lang.Object[] arg1) { throw new Error("NOT IMPLEMENTED"); } 5 | public java.lang.Class[] getParameterTypes() { throw new Error("NOT IMPLEMENTED"); } 6 | public java.lang.Class getDeclaringClass() { throw new Error("NOT IMPLEMENTED"); } 7 | public java.lang.Class[] getExceptionTypes() { throw new Error("NOT IMPLEMENTED"); } 8 | public int getModifiers() { throw new Error("NOT IMPLEMENTED"); } 9 | public java.lang.Class getReturnType() { throw new Error("NOT IMPLEMENTED"); } 10 | public Object newInstance(java.lang.Object[] arg0) throws InvocationTargetException { throw new Error("NOT IMPLEMENTED"); } 11 | 12 | public boolean isAccessible() { 13 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/java/net/BindException.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | 3 | public class BindException extends SocketException { 4 | public BindException(String msg) { super(msg); } 5 | public BindException() {} 6 | } 7 | -------------------------------------------------------------------------------- /src/java/net/DatagramPacket.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | 3 | public final class DatagramPacket 4 | { 5 | byte[] buff; 6 | int length; 7 | InetAddress addr; 8 | int port; 9 | 10 | public InetAddress getAddress() 11 | { 12 | return addr; 13 | } 14 | 15 | public void setAddress(InetAddress addr){ 16 | this.addr = addr; 17 | } 18 | 19 | public byte[] getData() 20 | { 21 | return buff; 22 | } 23 | 24 | public int getLength() 25 | { 26 | return length; 27 | } 28 | 29 | public int getPort() 30 | { 31 | return port; 32 | } 33 | 34 | public void setPort(int port){ 35 | this.port = port; 36 | } 37 | 38 | public DatagramPacket(byte ibuf[], int ilength) 39 | { 40 | buff = ibuf; 41 | length = ilength; 42 | } 43 | 44 | public DatagramPacket(byte ibuf[], int ilength, InetAddress iaddr, int iport) 45 | { 46 | this(ibuf, ilength); 47 | addr = iaddr; 48 | port = iport; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/java/net/HttpURLConnection.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | public class HttpURLConnection { 3 | public int getResponseCode() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/net/SocketException.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | 3 | import java.io.IOException; 4 | 5 | public class SocketException extends IOException { 6 | public SocketException(String msg) {super(msg);} 7 | public SocketException() {} 8 | } 9 | -------------------------------------------------------------------------------- /src/java/net/SocketTimeoutException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.net; 27 | 28 | /** 29 | * Signals that a timeout has occurred on a socket read or accept. 30 | * 31 | * @since 1.4 32 | */ 33 | 34 | public class SocketTimeoutException extends java.io.InterruptedIOException { 35 | private static final long serialVersionUID = -8846654841826352300L; 36 | 37 | /** 38 | * Constructs a new SocketTimeoutException with a detail 39 | * message. 40 | * @param msg the detail message 41 | */ 42 | public SocketTimeoutException(String msg) { 43 | super(msg); 44 | } 45 | 46 | /** 47 | * Construct a new SocketTimeoutException with no detailed message. 48 | */ 49 | public SocketTimeoutException() {} 50 | } 51 | -------------------------------------------------------------------------------- /src/java/net/URLClassLoader.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | 3 | public class URLClassLoader { 4 | public java.net.URLClassLoader newInstance(java.net.URL[] arg0, java.lang.ClassLoader arg1) { throw new Error("NOT IMPLEMENTED"); } 5 | public java.net.URL[] getURLs() { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/java/net/URLEncoder.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | public class URLEncoder { 3 | public java.lang.String encode(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/net/UnknownHostException.java: -------------------------------------------------------------------------------- 1 | package java.net; 2 | 3 | import java.io.IOException; 4 | 5 | public class UnknownHostException extends IOException { 6 | public UnknownHostException(String host) {super(host); } 7 | public UnknownHostException() { } 8 | } 9 | -------------------------------------------------------------------------------- /src/java/security/AccessController.java: -------------------------------------------------------------------------------- 1 | package java.security; 2 | 3 | import java.util.PropertyPermission; 4 | 5 | public final class AccessController { 6 | public java.security.AccessControlContext getContext() { throw new Error("NOT IMPLEMENTED"); } 7 | public static java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction arg0, java.security.AccessControlContext arg1) { throw new Error("NOT IMPLEMENTED"); } 8 | public static java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction arg0) { throw new Error("NOT IMPLEMENTED"); } 9 | public static java.lang.Object doPrivileged(java.security.PrivilegedAction arg0) { throw new Error("NOT IMPLEMENTED"); } 10 | } 11 | -------------------------------------------------------------------------------- /src/java/security/BasicPermission$1.j: -------------------------------------------------------------------------------- 1 | package java.security; 2 | public class BasicPermission$1 { 3 | public void BasicPermission$1() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/security/acl/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Input file for automake to generate the Makefile.in used by configure 2 | 3 | EXTRA_DIST = \ 4 | Acl.java \ 5 | AclEntry.java \ 6 | AclNotFoundException.java \ 7 | Group.java \ 8 | LastOwnerException.java \ 9 | NotOwnerException.java \ 10 | Owner.java \ 11 | Permission.java 12 | -------------------------------------------------------------------------------- /src/java/security/cert/Makefile.am: -------------------------------------------------------------------------------- 1 | ## input for automake 2 | 3 | EXTRA_DIST = \ 4 | CRL.java \ 5 | CRLException.java \ 6 | Certificate.java \ 7 | CertificateEncodingException.java \ 8 | CertificateException.java \ 9 | CertificateExpiredException.java \ 10 | CertificateFactory.java \ 11 | CertificateFactorySpi.java \ 12 | CertificateNotYetValidException.java \ 13 | CertificateParsingException.java \ 14 | X509CRL.java \ 15 | X509CRLEntry.java \ 16 | X509Certificate.java \ 17 | X509Extension.java 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/java/security/interfaces/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Input file for automake to generate the Makefile.in used by configure 2 | 3 | EXTRA_DIST = \ 4 | DSAKey.java \ 5 | DSAKeyPairGenerator.java \ 6 | DSAParams.java \ 7 | DSAPrivateKey.java \ 8 | DSAPublicKey.java \ 9 | RSAKey.java \ 10 | RSAPrivateCrtKey.java \ 11 | RSAPrivateKey.java \ 12 | RSAPublicKey.java 13 | -------------------------------------------------------------------------------- /src/java/security/spec/Makefile.am: -------------------------------------------------------------------------------- 1 | ## input for automake 2 | 3 | EXTRA_DIST = \ 4 | AlgorithmParameterSpec.java \ 5 | DSAParameterSpec.java \ 6 | DSAPrivateKeySpec.java \ 7 | DSAPublicKeySpec.java \ 8 | EncodedKeySpec.java \ 9 | InvalidKeySpecException.java \ 10 | InvalidParameterSpecException.java \ 11 | KeySpec.java \ 12 | PKCS8EncodedKeySpec.java \ 13 | RSAKeyGenParameterSpec.java \ 14 | RSAPrivateCrtKeySpec.java \ 15 | RSAPrivateKeySpec.java \ 16 | RSAPublicKeySpec.java \ 17 | X509EncodedKeySpec.java 18 | -------------------------------------------------------------------------------- /src/java/text/DecimalFormat.java: -------------------------------------------------------------------------------- 1 | package java.text; 2 | 3 | public class DecimalFormat extends NumberFormat { 4 | public void applyPattern(String pattern) { 5 | throw new Error("NOT IMPLEMENTED"); 6 | } 7 | public Number parse(String text, ParsePosition parsePosition) { 8 | throw new Error("NOT IMPLEMENTED"); 9 | } 10 | public StringBuffer format(double number,StringBuffer result, FieldPosition fieldPosition) { 11 | throw new Error("NOT IMPLEMENTED"); 12 | } 13 | public StringBuffer format(long number, 14 | StringBuffer result, 15 | FieldPosition fieldPosition) { 16 | throw new Error("NOT IMPLEMENTED"); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/java/text/Makefile.am: -------------------------------------------------------------------------------- 1 | # used by automake to create Makefile.in 2 | 3 | EXTRA_DIST = \ 4 | Annotation.java \ 5 | AttributedCharacterIterator.java \ 6 | AttributedString.java \ 7 | AttributedStringIterator.java \ 8 | BreakIterator.java \ 9 | CharacterIterator.java \ 10 | ChoiceFormat.java \ 11 | CollationElementIterator.java \ 12 | CollationKey.java \ 13 | Collator.java \ 14 | DateFormat.java \ 15 | DateFormatSymbols.java \ 16 | DecimalFormatSymbols.java \ 17 | DefaultBreakIterator.java \ 18 | FieldPosition.java \ 19 | Format.java \ 20 | MessageFormat.java \ 21 | NumberFormat.java \ 22 | ParseException.java \ 23 | ParsePosition.java \ 24 | RuleBasedCollator.java \ 25 | SimpleDateFormat.java \ 26 | StringCharacterIterator.java 27 | -------------------------------------------------------------------------------- /src/java/util/BitSet.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | public class BitSet { 3 | public void set(int arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public boolean get(int arg0) { throw new Error("NOT IMPLEMENTED"); } 5 | public void BitSet(int arg0) { throw new Error("NOT IMPLEMENTED"); } 6 | public BitSet(int nbits) { 7 | // nbits can't be negative; size 0 is OK 8 | if (nbits < 0) 9 | throw new NegativeArraySizeException("nbits < 0: " + nbits); 10 | 11 | //initWords(nbits); 12 | //sizeIsSticky = true; 13 | } 14 | 15 | public int nextClearBit(int i) { 16 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/java/util/Dictionary.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | 3 | public abstract class Dictionary 4 | { 5 | public abstract Enumeration elements(); 6 | public abstract Object get(Object key); 7 | public abstract boolean isEmpty(); 8 | public abstract Enumeration keys(); 9 | public abstract Object put(Object key, Object value); 10 | public abstract Object remove(Object key); 11 | public abstract int size(); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/java/util/EmptyStackException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | package java.util; 27 | 28 | /** 29 | * Thrown by methods in the Stack class to indicate 30 | * that the stack is empty. 31 | * 32 | * @author Jonathan Payne 33 | * @see java.util.Stack 34 | * @since JDK1.0 35 | */ 36 | public 37 | class EmptyStackException extends RuntimeException { 38 | private static final long serialVersionUID = 5084686378493302095L; 39 | 40 | /** 41 | * Constructs a new EmptyStackException with null 42 | * as its error message string. 43 | */ 44 | public EmptyStackException() { 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/java/util/Enumeration.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | 3 | public interface Enumeration 4 | { 5 | public boolean hasMoreElements(); 6 | public E nextElement(); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/java/util/NoSuchElementException.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | 3 | public class NoSuchElementException extends RuntimeException 4 | { 5 | public NoSuchElementException() { 6 | } 7 | 8 | public NoSuchElementException(String s) { 9 | super(s); 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/java/util/PropertyPermission.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | public class PropertyPermission { 3 | 4 | public PropertyPermission(String key, String read) { 5 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 6 | } 7 | public void PropertyPermission(java.lang.String arg0, java.lang.String arg1) { throw new Error("NOT IMPLEMENTED"); } 8 | } 9 | -------------------------------------------------------------------------------- /src/java/util/Stack.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | 3 | public class Stack extends Vector{ 4 | public E pop() { 5 | E obj; 6 | int len = size(); 7 | 8 | obj = peek(); 9 | removeElementAt(len - 1); 10 | 11 | return obj; 12 | } 13 | public E peek() { 14 | int len = size(); 15 | 16 | if (len == 0) 17 | throw new EmptyStackException(); 18 | return elementAt(len - 1); 19 | } 20 | public E push(E item) { 21 | //addElement(item); 22 | return item; 23 | } 24 | public void Stack() { throw new Error("NOT IMPLEMENTED"); } 25 | public boolean empty() { throw new Error("NOT IMPLEMENTED"); } 26 | public int search(java.lang.Object arg0) { throw new Error("NOT IMPLEMENTED"); } 27 | } 28 | -------------------------------------------------------------------------------- /src/java/util/UnsupportedOperationException.java: -------------------------------------------------------------------------------- 1 | package java.util; 2 | 3 | class UnsupportedOperationException extends Error { 4 | 5 | UnsupportedOperationException(String not_supported_yet) { 6 | throw new java.lang.UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 7 | } 8 | 9 | UnsupportedOperationException() { 10 | throw new java.lang.UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/java/util/function/Supplier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | package java.util.function; 26 | 27 | /** 28 | * Represents a supplier of results. 29 | * 30 | *

There is no requirement that a new or distinct result be returned each 31 | * time the supplier is invoked. 32 | * 33 | *

This is a functional interface 34 | * whose functional method is {@link #get()}. 35 | * 36 | * @param the type of results supplied by this supplier 37 | * 38 | * @since 1.8 39 | */ 40 | @FunctionalInterface 41 | public interface Supplier { 42 | 43 | /** 44 | * Gets a result. 45 | * 46 | * @return a result 47 | */ 48 | T get(); 49 | } 50 | -------------------------------------------------------------------------------- /src/java/util/zip/InflaterInputStream.java: -------------------------------------------------------------------------------- 1 | package java.util.zip; 2 | public class InflaterInputStream { 3 | public int read() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/java/util/zip/ZipEntry.java: -------------------------------------------------------------------------------- 1 | package java.util.zip; 2 | public class ZipEntry { 3 | public long getSize() { throw new Error("NOT IMPLEMENTED"); } 4 | public java.lang.String getName() { throw new Error("NOT IMPLEMENTED"); } 5 | public boolean isDirectory() { throw new Error("NOT IMPLEMENTED"); } 6 | public void ZipEntry(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 7 | public void setSize(long arg0) { throw new Error("NOT IMPLEMENTED"); } 8 | } 9 | -------------------------------------------------------------------------------- /src/java/util/zip/ZipFile.java: -------------------------------------------------------------------------------- 1 | package java.util.zip; 2 | public class ZipFile { 3 | public java.io.InputStream getInputStream(java.util.zip.ZipEntry arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void close() { throw new Error("NOT IMPLEMENTED"); } 5 | public void ZipFile(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 6 | public java.util.zip.ZipEntry getEntry(java.lang.String arg0) { throw new Error("NOT IMPLEMENTED"); } 7 | public void ZipFile(java.io.File arg0) { throw new Error("NOT IMPLEMENTED"); } 8 | } 9 | -------------------------------------------------------------------------------- /src/java/util/zip/ZipInputStream.java: -------------------------------------------------------------------------------- 1 | package java.util.zip; 2 | public class ZipInputStream { 3 | public void ZipInputStream(java.io.InputStream arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public java.util.zip.ZipEntry getNextEntry() { throw new Error("NOT IMPLEMENTED"); } 5 | public int available() { throw new Error("NOT IMPLEMENTED"); } 6 | public void closeEntry() { throw new Error("NOT IMPLEMENTED"); } 7 | } 8 | -------------------------------------------------------------------------------- /src/java/util/zip/ZipOutputStream.java: -------------------------------------------------------------------------------- 1 | package java.util.zip; 2 | public class ZipOutputStream { 3 | public void ZipOutputStream(java.io.OutputStream arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public void close() { throw new Error("NOT IMPLEMENTED"); } 5 | public void closeEntry() { throw new Error("NOT IMPLEMENTED"); } 6 | public void finish() { throw new Error("NOT IMPLEMENTED"); } 7 | public void putNextEntry(java.util.zip.ZipEntry arg0) { throw new Error("NOT IMPLEMENTED"); } 8 | public void setMethod(int arg0) { throw new Error("NOT IMPLEMENTED"); } 9 | public void write(byte[] arg0, int arg1, int arg2) { throw new Error("NOT IMPLEMENTED"); } 10 | } 11 | -------------------------------------------------------------------------------- /src/javafs/BufferIOException.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | import jx.fs.FSException; 4 | 5 | public class BufferIOException extends FSException { 6 | public BufferIOException() { 7 | super(); 8 | } 9 | 10 | public BufferIOException(String msg) { 11 | super(msg); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/javafs/FlushDemon.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | public class FlushDemon extends Thread { 4 | public void run() { 5 | setDaemon(true); 6 | while(true) { 7 | try { 8 | sleep(30000); // 30 sek. 9 | } catch (InterruptedException e) { } 10 | //BufferCache.instance().flush(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/javafs/InodeBlockData.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | import jx.fs.buffercache.*; 4 | 5 | final class InodeBlockData extends BufferHeadAccess { 6 | 7 | public InodeBlockData() { 8 | } 9 | 10 | public InodeBlockData(BufferHead bh, int offset) { 11 | init(bh, offset); 12 | } 13 | 14 | final public void bd_init(BufferHead bh, int offset) { 15 | init(bh,offset); 16 | } 17 | 18 | final public int bd_entry() { return readInt(0); } 19 | final public void bd_entry(int v) { writeInt(0, v); } 20 | } 21 | -------------------------------------------------------------------------------- /src/javafs/InodeHashKey.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | class InodeHashKey { 4 | public int i_ino; 5 | private final int hashkey; 6 | 7 | public InodeHashKey(int i_ino) { 8 | this.i_ino = i_ino; 9 | hashkey = i_ino; 10 | } 11 | 12 | public int hashCode() { 13 | return hashkey; 14 | } 15 | 16 | public boolean equals(Object obj) { 17 | InodeHashKey ihk = (InodeHashKey)obj; 18 | return i_ino == ihk.i_ino; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/javafs/Main.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | import jx.zero.*; 4 | import jx.zero.debug.*; 5 | 6 | public class Main { 7 | public static void init(Naming naming) { 8 | DebugChannel d = (DebugChannel) naming.lookup("DebugChannel0"); 9 | Debug.out = new jx.zero.debug.DebugPrintStream(new jx.zero.debug.DebugOutputStream(d)); 10 | Debug.err = new jx.zero.debug.DebugPrintStream(new jx.zero.debug.DebugOutputStream(d)); 11 | Debug.in = new jx.zero.debug.DebugInputStream(d); 12 | 13 | Portal JAVAFSdep = new javafs.FileSystem(); 14 | naming.registerPortal(JAVAFSdep, "JavaFS"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/javafs/SymlinkBlockData.java: -------------------------------------------------------------------------------- 1 | package javafs; 2 | 3 | import jx.fs.buffercache.*; 4 | 5 | class SymlinkBlockData extends BufferHeadAccess { 6 | public SymlinkBlockData(BufferHead bh, int offset) { 7 | init(bh, offset); 8 | } 9 | 10 | public String i_symlink(int len) { return readString(0, len); } 11 | public void i_symlink(String v) { writeString(0, v, v.length()); } 12 | } 13 | -------------------------------------------------------------------------------- /src/javax/net/ServerSocketFactory.java: -------------------------------------------------------------------------------- 1 | package javax.net; 2 | public class ServerSocketFactory { 3 | public java.net.ServerSocket createServerSocket(int arg0) { throw new Error("NOT IMPLEMENTED"); } 4 | public java.net.ServerSocket createServerSocket(int arg0, int arg1) { throw new Error("NOT IMPLEMENTED"); } 5 | public java.net.ServerSocket createServerSocket(int arg0, int arg1, java.net.InetAddress arg2) { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/javax/net/ssl/SSLServerSocket.java: -------------------------------------------------------------------------------- 1 | package javax.net.ssl; 2 | public class SSLServerSocket { 3 | public java.lang.String[] getSupportedCipherSuites() { throw new Error("NOT IMPLEMENTED"); } 4 | public void setEnabledCipherSuites(java.lang.String[] arg0) { throw new Error("NOT IMPLEMENTED"); } 5 | public void setNeedClientAuth(boolean arg0) { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/javax/net/ssl/SSLServerSocketFactory.java: -------------------------------------------------------------------------------- 1 | package javax.net.ssl; 2 | public class SSLServerSocketFactory { 3 | } 4 | -------------------------------------------------------------------------------- /src/javax/net/ssl/SSLSession.java: -------------------------------------------------------------------------------- 1 | package javax.net.ssl; 2 | public class SSLSession { 3 | public javax.security.cert.X509Certificate[] getPeerCertificateChain() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/javax/net/ssl/SSLSocket.java: -------------------------------------------------------------------------------- 1 | package javax.net.ssl; 2 | public class SSLSocket { 3 | public javax.net.ssl.SSLSession getSession() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/javax/security/cert/Certificate.java: -------------------------------------------------------------------------------- 1 | package javax.security.cert; 2 | public class Certificate { 3 | public byte[] getEncoded() { throw new Error("NOT IMPLEMENTED"); } 4 | } 5 | -------------------------------------------------------------------------------- /src/javax/security/cert/X509Certificate.java: -------------------------------------------------------------------------------- 1 | package javax.security.cert; 2 | public class X509Certificate { 3 | } 4 | -------------------------------------------------------------------------------- /src/jx/bioro/Main.java: -------------------------------------------------------------------------------- 1 | package jx.bioro; 2 | 3 | import jx.zero.*; 4 | import jx.bio.BlockIO; 5 | 6 | class Main { 7 | public static void main(String [] args) { 8 | Naming naming = InitialNaming.getInitialNaming(); 9 | String bioNameRW = args[0]; 10 | String bioNameRO = args[1]; 11 | BlockIO bioRW = (BlockIO)LookupHelper.waitUntilPortalAvailable(naming, bioNameRW); 12 | BlockIO bioRO = new BioRO(bioRW); 13 | naming.registerPortal(bioRO, bioNameRO); 14 | } 15 | static class BioRO implements BlockIO, Service { 16 | BlockIO bio; 17 | BioRO(BlockIO bio) { 18 | this.bio=bio; 19 | } 20 | public int getCapacity() { return bio.getCapacity();} 21 | public int getSectorSize(){ return bio.getSectorSize();} 22 | public void readSectors(int startSector, int numberOfSectors, Memory buf, boolean synchronous) { 23 | bio.readSectors(startSector, numberOfSectors, buf, synchronous); 24 | } 25 | public void writeSectors(int startSector, int numberOfSectors, Memory buf, boolean synchronous) { 26 | throw new Error("Read-only block I/O device"); 27 | } 28 | } 29 | } 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/jx/bootrc/ComponentSpec.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | public class ComponentSpec extends Spec { 4 | String name; 5 | ComponentSpec(String name) { 6 | this.name = name; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/bootrc/DomainSpec.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | public class DomainSpec extends Spec { 4 | ComponentSpec[] comp; 5 | void setComponents(ComponentSpec[] c) { 6 | comp = c; 7 | } 8 | public ComponentSpec[] getComponents() { 9 | return comp; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/bootrc/GlobalSpec.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | public class GlobalSpec extends Spec { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/bootrc/NameNotFoundException.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | public class NameNotFoundException extends Exception { 4 | public NameNotFoundException() {} 5 | public NameNotFoundException(String msg) { super(msg);} 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/bootrc/Pair.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | class Pair { 4 | String name; 5 | String value; 6 | public Pair(String name, String value){ 7 | this.name = name; 8 | this.value = value; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/jx/bootrc/Record.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | import jx.zero.*; 4 | 5 | public class Record { 6 | public String domainName; 7 | public String mainLib; 8 | public String startClass; 9 | public String schedulerClass; 10 | public int heapSize; 11 | public String argv[]; 12 | public Record next; 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/bootrc/Section.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | import jx.zero.*; 4 | 5 | public class Section { 6 | public String name; 7 | public Record records; 8 | public Record cur; 9 | public Record last; 10 | public Section next; 11 | public Record nextRecord() { 12 | if (cur==null) return null; 13 | Record ret = cur; 14 | cur = cur.next; 15 | return ret; 16 | } 17 | public void reset() { cur = records; } 18 | public void add(Record r) { 19 | if (records == null) { 20 | records = r; 21 | cur = records; 22 | last = records; 23 | return; 24 | } 25 | last.next = r; 26 | last = r; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/jx/bootrc/Spec.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | import java.util.*; 4 | 5 | public class Spec { 6 | Vector pairs = new Vector(); 7 | 8 | public String getString(String name) throws NameNotFoundException { 9 | String v = find(name); 10 | return v; 11 | } 12 | 13 | public int getInt(String name) throws NameNotFoundException { 14 | String v = find(name); 15 | return Integer.parseInt(v); 16 | } 17 | 18 | public String[] getStringArray(String name) throws NameNotFoundException { 19 | String v = find(name); 20 | String[] list = BootRC2.splitByChar(v, ','); 21 | return list; 22 | } 23 | 24 | protected String find(String name) throws NameNotFoundException { 25 | for(int i = 0; i < pairs.size(); i++) { 26 | Pair p = (Pair) pairs.elementAt(i); 27 | if (p.name.equals(name)) return p.value; 28 | } 29 | throw new NameNotFoundException("Entry not found: \"" + name + "\""); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/jx/bootrc/StringTokenException.java: -------------------------------------------------------------------------------- 1 | package jx.bootrc; 2 | 3 | public class StringTokenException extends Exception {} 4 | -------------------------------------------------------------------------------- /src/jx/buffer/multithread/BufferConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.multithread; 2 | 3 | /** 4 | * The operations that are available to the consumer of buffers. 5 | */ 6 | public interface BufferConsumer { 7 | public Buffer undockFirstElement(); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/buffer/multithread/BufferProducer.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.multithread; 2 | 3 | /** 4 | * The operations that are available to the producer of buffers. 5 | */ 6 | public interface BufferProducer { 7 | public void appendElement(Buffer bh); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/buffer/multithread/MultiThreadBufferList2.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.multithread; 2 | 3 | import jx.zero.*; 4 | 5 | public class MultiThreadBufferList2 extends MultiThreadBufferList { 6 | 7 | public MultiThreadBufferList2() { 8 | super(new Buffer2(null), null); 9 | } 10 | 11 | public MultiThreadBufferList2(Memory[] bufs) { 12 | super(new Buffer2(bufs[0]), null); 13 | //if(1==1)throw new Error("TODO: extendRange -> split"); //super(new Buffer2(bufs[0].extendFullRange()), null); 14 | if (verbose) { 15 | cpuManager.dump("MultiThreadBufferList2(Memory[" + bufs.length + "])", this); 16 | } 17 | for(int i = 1; i < bufs.length; i++) { 18 | if (verbose) Debug.out.println(" loop:" + i); 19 | //if(1==1)throw new Error("TODO: extendRange -> split"); //appendElement(new Buffer2(bufs[i].extendFullRange())); 20 | appendElement(new Buffer2(bufs[i])); 21 | } 22 | if (verbose) dump(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/jx/buffer/separator/MemoryConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.separator; 2 | 3 | import jx.zero.*; 4 | 5 | /** 6 | * This interface should be implemented by a class in a domain 7 | * that processes data. For each Memory object that is passed 8 | * an equivalent Memory object must be returned. If the consumer 9 | * fails to return such a Memory object, the producer stops 10 | * producing data. 11 | * 12 | * This interface should be used by a domain that generates 13 | * data. Such a domain must also provide an object that 14 | * implements the MemoryProducer interface. 15 | */ 16 | public interface MemoryConsumer { 17 | Memory processMemory(Memory data); 18 | } 19 | -------------------------------------------------------------------------------- /src/jx/buffer/separator/MemoryConsumer2.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.separator; 2 | 3 | import jx.zero.*; 4 | 5 | /** 6 | * This interface should be implemented by a class in a domain 7 | * that processes data. For each Memory object that is passed 8 | * an equivalent Memory object must be returned. If the consumer 9 | * fails to return such a Memory object, the producer stops 10 | * producing data. 11 | * 12 | * This interface should be used by a domain that generates 13 | * data. Such a domain must also provide an object that 14 | * implements the MemoryProducer interface. 15 | */ 16 | public interface MemoryConsumer2 { 17 | Memory processMemory(Memory data, int offset, int size); 18 | } 19 | -------------------------------------------------------------------------------- /src/jx/buffer/separator/MemoryProducer.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.separator; 2 | 3 | /** 4 | * This interface should be implemented by a class in a domain that generates 5 | * data. 6 | * This interface is used by a class in a domain 7 | * that processes data to inform the producer of the data 8 | * that processing is again ready. 9 | */ 10 | public interface MemoryProducer { 11 | void restartProduction(); 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/buffer/separator/NonBlockingMemoryConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.buffer.separator; 2 | 3 | import jx.zero.*; 4 | 5 | /** 6 | * This interface should be implemented by a class in a domain 7 | * that processes data. For each Memory object that is passed 8 | * an equivalent Memory object must be returned. If the consumer 9 | * fails to return such a Memory object, the producer stops 10 | * producing data. 11 | * 12 | * This interface should be used by a domain that generates 13 | * data. Such a domain must also provide an object that 14 | * implements the MemoryProducer interface. 15 | */ 16 | public interface NonBlockingMemoryConsumer { 17 | Memory processMemory(Memory data, int offset, int size); 18 | void EtherQueueConsumerThread(); 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/classfile/LineAttributeData.java: -------------------------------------------------------------------------------- 1 | package jx.classfile; 2 | 3 | public class LineAttributeData { 4 | public int startBytecodepos; 5 | public int lineNumber; 6 | public LineAttributeData(int startBytecodepos, int lineNumber) { 7 | this.startBytecodepos = startBytecodepos; 8 | this.lineNumber = lineNumber; 9 | } 10 | public LineAttributeData copy() { 11 | return new LineAttributeData(startBytecodepos, lineNumber); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/classfile/NativeMethodException.java: -------------------------------------------------------------------------------- 1 | package jx.classfile; 2 | 3 | public class NativeMethodException extends RuntimeException { 4 | public NativeMethodException(String m) { super(m);} 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/classfile/NoMagicNumberException.java: -------------------------------------------------------------------------------- 1 | package jx.classfile; 2 | 3 | public class NoMagicNumberException extends RuntimeException { 4 | public NoMagicNumberException() { super();} 5 | public NoMagicNumberException(String m) { super(m);} 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/jx/classfile/VerifyResult.java: -------------------------------------------------------------------------------- 1 | package jx.classfile; 2 | 3 | 4 | abstract public class VerifyResult { 5 | 6 | public static final int NPA_RESULT = 1; 7 | public static final int FLA_RESULT = 2; 8 | public static final int WCET_RESULT = 3; 9 | public static final int CINSTR_RESULT = 4; 10 | protected int type; 11 | public int getType(){return type;} 12 | 13 | public VerifyResult(int type) { 14 | this.type = type; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/classfile/constantpool/DummyCPEntry.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.constantpool; 3 | import java.io.*; 4 | import jx.classfile.datatypes.*; 5 | import jx.zero.Debug; 6 | 7 | public class DummyCPEntry extends ConstantPoolEntry { 8 | 9 | public int getTag() {return -1;} 10 | 11 | void readFromClassFile(DataInput input) throws IOException { 12 | } 13 | 14 | public String getSimpleDescription() { return "NoValue";} 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/classfile/constantpool/FieldRefCPEntry.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.constantpool; 3 | 4 | public class FieldRefCPEntry extends ClassMemberCPEntry { 5 | 6 | private int fieldOffset; // currently useless 7 | 8 | public FieldRefCPEntry() { 9 | } 10 | 11 | FieldRefCPEntry(int classCPIndex, int nameAndTypeCPIndex, 12 | int fieldOffset) { 13 | super(classCPIndex, nameAndTypeCPIndex); 14 | this.fieldOffset = fieldOffset; 15 | } 16 | 17 | // for metaXa interface, incomplete constructor (indices not initialized) 18 | public FieldRefCPEntry(ClassCPEntry classCPEntry, 19 | NameAndTypeCPEntry nameAndTypeCPEntry) { 20 | super(classCPEntry, nameAndTypeCPEntry); 21 | } 22 | 23 | 24 | public int getTag() {return CONSTANT_FIELDREF;} 25 | 26 | int getFieldOffset() {return fieldOffset;} 27 | } 28 | -------------------------------------------------------------------------------- /src/jx/classfile/constantpool/InterfaceMethodRefCPEntry.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.constantpool; 3 | import java.io.*; 4 | import jx.classfile.datatypes.*; 5 | import jx.zero.Debug; 6 | public class InterfaceMethodRefCPEntry extends ClassMemberCPEntry { 7 | 8 | public InterfaceMethodRefCPEntry() {} 9 | 10 | public InterfaceMethodRefCPEntry(int classCPIndex, int nameAndTypeCPIndex) { 11 | super(classCPIndex, nameAndTypeCPIndex); 12 | } 13 | 14 | // for metaXa interface, incomplete constructor (indices not initialized) 15 | public InterfaceMethodRefCPEntry(ClassCPEntry classCPEntry, 16 | NameAndTypeCPEntry nameAndTypeCPEntry) { 17 | super(classCPEntry, nameAndTypeCPEntry); 18 | } 19 | 20 | public int getTag() {return CONSTANT_INTERFACEMETHODREF;} 21 | 22 | int getMethodIndex() {return 0;} 23 | int getInterfaceID() {return 0;} 24 | } 25 | -------------------------------------------------------------------------------- /src/jx/classfile/constantpool/MethodRefCPEntry.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.constantpool; 3 | 4 | public class MethodRefCPEntry extends ClassMemberCPEntry { 5 | 6 | // index of this method in the methodtable 7 | private int methodIndex; 8 | 9 | public MethodRefCPEntry() {} 10 | 11 | public MethodRefCPEntry(int classCPIndex, int nameAndTypeCPIndex) { 12 | super(classCPIndex, nameAndTypeCPIndex); 13 | } 14 | 15 | MethodRefCPEntry(int classCPIndex, int nameAndTypeCPIndex, 16 | int methodIndex) { 17 | super(classCPIndex, nameAndTypeCPIndex); 18 | this.methodIndex = methodIndex; 19 | } 20 | 21 | // for metaXa interface, incomplete constructor (indices not initialized) 22 | public MethodRefCPEntry(ClassCPEntry classCPEntry, 23 | NameAndTypeCPEntry nameAndTypeCPEntry) { 24 | super(classCPEntry, nameAndTypeCPEntry); 25 | } 26 | 27 | public int getTag() {return CONSTANT_METHODREF;} 28 | 29 | int getMethodIndex() {return 0;} 30 | int getStaticMethodAddress() {return 0;} 31 | } 32 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCByte.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | final public class BCByte extends BCIntegerDatatype { 4 | private byte value; 5 | 6 | public BCByte(byte value) {this.value = value;} 7 | public byte value() {return value;} 8 | public long longValue() {return value;} 9 | public String toString() {return String.valueOf(value); } 10 | public int type() {return BYTE;} 11 | 12 | protected BCIntegerDatatype getObjectFor(long value) { 13 | return new BCByte((byte)value); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCFloatDatatype.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | 4 | abstract public class BCFloatDatatype extends BCNumericDatatype { 5 | 6 | abstract public double doubleValue(); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCInteger.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | final public class BCInteger extends BCIntegerDatatype { 4 | private int value; 5 | 6 | public BCInteger(int value) {this.value = value;} 7 | public int value() {return value;} 8 | public long longValue() {return value;} 9 | public String toString() {return String.valueOf(value); } 10 | public int type() {return INT;} 11 | 12 | public static final BCInteger VALUE_M1 = new BCInteger(-1); 13 | public static final BCInteger VALUE_0 = new BCInteger(0); 14 | public static final BCInteger VALUE_1 = new BCInteger(1); 15 | public static final BCInteger VALUE_2 = new BCInteger(2); 16 | public static final BCInteger VALUE_3 = new BCInteger(3); 17 | public static final BCInteger VALUE_4 = new BCInteger(4); 18 | public static final BCInteger VALUE_5 = new BCInteger(5); 19 | 20 | protected BCIntegerDatatype getObjectFor(long value) { 21 | return new BCInteger((int)value); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCLong.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | final public class BCLong extends BCIntegerDatatype { 4 | private long value; 5 | 6 | public BCLong(long value) {this.value = value;} 7 | public long value() {return value;} 8 | public long longValue() {return value;} 9 | public int type() {return LONG;} 10 | 11 | public String toString() {return String.valueOf(value); } 12 | 13 | public static final BCLong VALUE_0 = new BCLong(0); 14 | public static final BCLong VALUE_1 = new BCLong(1); 15 | 16 | protected BCIntegerDatatype getObjectFor(long value) { 17 | return new BCLong(value); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCNumericDatatype.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | // the following classes are used to represent values of 4 | // different datatypes (e.g. to store constants in package bytecode.code) 5 | 6 | abstract public class BCNumericDatatype extends BCBasicDatatype { 7 | 8 | // for combined() 9 | public static final int ADD = 0; 10 | public static final int SUB = 1; 11 | public static final int MUL = 2; 12 | public static final int DIV = 3; 13 | public static final int REM = 4; 14 | public static final int NEG = 5; 15 | public static final int SHL = 6; 16 | public static final int SHR = 7; 17 | public static final int USHR = 8; 18 | public static final int AND = 9; 19 | public static final int OR = 10; 20 | public static final int XOR = 11; 21 | 22 | // functions for performing arithmetic operations 23 | abstract public BCNumericDatatype combined(int operator, BCNumericDatatype op2); 24 | abstract public BCNumericDatatype negated(); 25 | } 26 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCReference.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | 4 | final public class BCReference extends BCBasicDatatype { 5 | private int value; 6 | 7 | public BCReference(int value) {this.value = value;} 8 | public int value() {return value;} 9 | public String toString() { 10 | if (value==0) 11 | return "NULL"; 12 | else 13 | return "Ref:"+String.valueOf(value); 14 | } 15 | public int type() {return REFERENCE;} 16 | 17 | public static final BCReference NULL = new BCReference(0); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/BCShort.java: -------------------------------------------------------------------------------- 1 | 2 | package jx.classfile.datatypes; 3 | final public class BCShort extends BCIntegerDatatype { 4 | private short value; 5 | 6 | public BCShort(short value) {this.value = value;} 7 | public short value() {return value;} 8 | public long longValue() {return value;} 9 | public String toString() {return String.valueOf(value); } 10 | public int type() {return SHORT;} 11 | 12 | protected BCIntegerDatatype getObjectFor(long value) { 13 | return new BCShort((short)value); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/classfile/datatypes/NoClassTypeException.java: -------------------------------------------------------------------------------- 1 | package jx.classfile.datatypes; 2 | public class NoClassTypeException extends Exception {} 3 | -------------------------------------------------------------------------------- /src/jx/classstore/ClassFinder.java: -------------------------------------------------------------------------------- 1 | package jx.classstore; 2 | 3 | import jx.classfile.*; 4 | import jx.collections.Iterator; 5 | 6 | public interface ClassFinder { 7 | public ClassData findClass(String className); 8 | public void dump(); 9 | public Iterator getAllClasses(); 10 | 11 | /** 12 | * @return true if instances of "className" can be assigned to 13 | * variables of type superName 14 | */ 15 | // public boolean isAssignableTo(String className, String superName); 16 | } 17 | -------------------------------------------------------------------------------- /src/jx/classstore/LoadedClass.java: -------------------------------------------------------------------------------- 1 | package jx.classstore; 2 | 3 | import java.util.Hashtable; 4 | 5 | public class LoadedClass { 6 | // ClassData classData; 7 | //Hashtable info; 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/classstore/MemoryClassSource.java: -------------------------------------------------------------------------------- 1 | package jx.classstore; 2 | 3 | import java.io.*; 4 | import jx.zero.Debug; 5 | import jx.zero.Memory; 6 | import jx.zero.debug.Dump; 7 | import jx.classfile.constantpool.*; 8 | import jx.classfile.datatypes.*; 9 | import jx.classfile.ClassData; 10 | import jx.classfile.ClassSource; 11 | import jx.classfile.MethodSource; 12 | import jx.classfile.MethodData; 13 | import jx.classfile.FieldData; 14 | import jx.classfile.NativeMethodException; 15 | 16 | import jx.zero.memory.MemoryInputStream; 17 | 18 | public class MemoryClassSource extends ClassData { 19 | 20 | public MemoryClassSource(Memory input) throws IOException { 21 | super(new DataInputStream(new MemoryInputStream(input))); 22 | } 23 | 24 | public MemoryClassSource(Memory input, boolean allowNative) throws IOException { 25 | super(new DataInputStream(new MemoryInputStream(input)), allowNative); 26 | } 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/jx/collections/Collection.java: -------------------------------------------------------------------------------- 1 | package jx.collections; 2 | 3 | public interface Collection { 4 | Iterator iterator(); 5 | void add(Object o); 6 | int size(); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/collections/Comparator.java: -------------------------------------------------------------------------------- 1 | package jx.collections; 2 | 3 | public interface Comparator { 4 | int compare(Object a, Object b); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/collections/Iterator.java: -------------------------------------------------------------------------------- 1 | package jx.collections; 2 | 3 | public interface Iterator { 4 | boolean hasNext(); 5 | Object next(); 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/collections/List.java: -------------------------------------------------------------------------------- 1 | package jx.collections; 2 | 3 | import java.util.Vector; 4 | import java.util.Enumeration; 5 | 6 | public class List implements Collection { 7 | Vector elements=new Vector(); 8 | 9 | public List() { 10 | } 11 | 12 | public void add(Object o) { 13 | elements.addElement(o); 14 | } 15 | 16 | public int size() { 17 | return elements.size(); 18 | } 19 | 20 | public Iterator iterator() { 21 | return new Iterator() { 22 | int counter; 23 | public boolean hasNext() { 24 | return counter < elements.size(); 25 | } 26 | public Object next() { 27 | return elements.elementAt(counter++); 28 | } 29 | }; 30 | } 31 | 32 | public Enumeration elements() { 33 | return new Enumeration() { 34 | int counter; 35 | public boolean hasMoreElements() { 36 | return counter < elements.size(); 37 | } 38 | public Object nextElement() { 39 | return elements.elementAt(counter++); 40 | } 41 | }; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/jx/collections/SortedList.java: -------------------------------------------------------------------------------- 1 | package jx.collections; 2 | 3 | public interface SortedList extends Collection { 4 | Iterator iterator(); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/db/CodedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * CodedException.java 3 | * 4 | * Created on November 2, 2001, 11:45 PM 5 | */ 6 | 7 | package jx.db; 8 | 9 | 10 | /** 11 | * 12 | * @author ivanich 13 | * @version 14 | */ 15 | public class CodedException extends java.lang.Exception { 16 | 17 | private Object m_cOriginator = null; 18 | private int m_iErrorCode = -1; 19 | 20 | public CodedException(Object cOriginator, int iErrorCode, String szErrorMsg) { 21 | super(szErrorMsg); 22 | m_cOriginator = cOriginator; 23 | m_iErrorCode = iErrorCode; 24 | } 25 | 26 | public int getErrorCode() { 27 | return m_iErrorCode; 28 | } 29 | 30 | public Object getOriginator() { 31 | return m_cOriginator; 32 | } 33 | 34 | } 35 | 36 | -------------------------------------------------------------------------------- /src/jx/db/IndexInfo.java: -------------------------------------------------------------------------------- 1 | package jx.db; 2 | 3 | /** 4 | * Title: SA 5 | * Description: 6 | * Copyright: Copyright (c) 2001 7 | * Company: 8 | * @author Ivanich 9 | * @version 1.0 10 | */ 11 | 12 | public interface IndexInfo { 13 | public int[] getAttributeMap() throws CodedException; 14 | public boolean isUnique(); 15 | public int getIID(); 16 | public int getType(); 17 | } -------------------------------------------------------------------------------- /src/jx/db/Key.java: -------------------------------------------------------------------------------- 1 | package jx.db; 2 | 3 | public interface Key { 4 | 5 | public static final int ERR_INVALID_POS = 0; 6 | 7 | public int getFieldCount(); 8 | public void getField( Object cDest, int iPos ) throws CodedException; 9 | public void setField( Object cSrc, int iPos ) throws CodedException; 10 | public byte[][] getBytes(); 11 | public void setBytes( byte[] baSrc, int iOffset ); 12 | 13 | public void setField( int iSrc, int iPos )throws CodedException; 14 | public int getField( int iPos ) throws CodedException; 15 | 16 | public void setFieldToMin(int iPos)throws CodedException; 17 | public void setFieldToMax(int iPos)throws CodedException; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/db/RelationalOperator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * RelationalOperator.java 3 | * 4 | * Created on 30. Juli 2001, 10:08 5 | */ 6 | 7 | package jx.db; 8 | 9 | /** 10 | * 11 | * @author ivanich 12 | * @version 13 | */ 14 | public interface RelationalOperator { 15 | 16 | public static final int ERR_EMPTY_SEARCH = 0; 17 | 18 | public void close() throws CodedException; 19 | 20 | public boolean moveToNext() throws CodedException; 21 | 22 | public boolean moveToFirst() throws CodedException; 23 | 24 | public boolean moveToPrev() throws CodedException; 25 | 26 | public TupleReader getCurrent() throws CodedException; 27 | 28 | public TupleDescriptor getTupleDesc() throws CodedException; 29 | 30 | public boolean isEmpty() throws CodedException; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/jx/db/TupleDescriptor.java: -------------------------------------------------------------------------------- 1 | package jx.db; 2 | 3 | /** 4 | * Title: SA 5 | * Description: 6 | * Copyright: Copyright (c) 2001 7 | * Company: 8 | * @author Ivanich 9 | * @version 1.0 10 | */ 11 | 12 | 13 | /*fixit*/ 14 | import jx.db.types.DbConverter; 15 | import jx.db.CodedException; 16 | 17 | 18 | public interface TupleDescriptor extends jx.zero.Portal { 19 | 20 | public static final int ERR_WRONG_OFFSET = 0; 21 | public static final int ERR_TD_NOT_INITIALIZED = 1; 22 | public static final int ERR_INVALID_IID = 2; 23 | public static final int ERR_WRONG_OFFSET_DIM = 3; 24 | 25 | public int getCount(); 26 | public int getSegNum(); 27 | public int getRelId();; 28 | public int getAttrSize(int iPos) throws CodedException; 29 | public int getTupleSize(); 30 | public int getType(int iPos) throws CodedException ; 31 | public String getName(int iPos) throws CodedException; 32 | public int getFieldOffset(int iPos) throws CodedException; 33 | public DbConverter getConverter(int iPos) throws CodedException; 34 | } 35 | -------------------------------------------------------------------------------- /src/jx/db/mytypes/comparators/IntegerComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * IntegerComparator.java 3 | * 4 | * Created on 19. Juli 2001, 00:08 5 | */ 6 | 7 | package jx.db.mytypes.comparators; 8 | 9 | 10 | /** 11 | * 12 | * @author ivanich 13 | * @version 14 | */ 15 | public class IntegerComparator implements jx.db.types.DbComparator { 16 | 17 | /** Creates new IntegerComparator */ 18 | public IntegerComparator() { 19 | } 20 | 21 | public int compare(byte[] baFirstKey, byte[] baSecondKey) { 22 | return compare(baFirstKey, 0, baSecondKey, 0, 4); 23 | } 24 | 25 | public int compare(byte[] baFirstKey, int iFirstOffset, byte[] baSecondKey, int iSecondOffset, int iSize) { 26 | int iKey1 = jx.db.mytypes.Converter.bytesToInt(baFirstKey, iFirstOffset); 27 | int iKey2 = jx.db.mytypes.Converter.bytesToInt(baSecondKey, iSecondOffset); 28 | 29 | if (iKey1 < iKey2) 30 | return -1; 31 | else if (iKey1 > iKey2) 32 | return 1; 33 | else 34 | return 0; 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/jx/db/parser/JXResultSet.java: -------------------------------------------------------------------------------- 1 | package jx.db.parser; 2 | 3 | import jx.zero.*; 4 | import jx.db.*; 5 | 6 | public class JXResultSet { 7 | RelationScan scan; 8 | boolean avail=false; 9 | 10 | JXResultSet(RelationScan scan) throws CodedException{ 11 | this.scan = scan; 12 | avail = scan.moveToFirst(); 13 | } 14 | 15 | TupleReader next() throws CodedException{ 16 | if (! avail) return null; 17 | TupleReader cTupleReader = scan.getCurrent(); 18 | //// cTupleReader.dump(); 19 | //cTupleReader.close(); 20 | avail = scan.moveToNext(); 21 | return cTupleReader; 22 | } 23 | 24 | void close() throws CodedException{ 25 | scan.close(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/jx/db/parser/ParseException.java: -------------------------------------------------------------------------------- 1 | package jx.db.parser; 2 | 3 | public class ParseException extends Exception { 4 | public ParseException() {} 5 | public ParseException(String msg) {super(msg);} 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/db/types/DbComparator.java: -------------------------------------------------------------------------------- 1 | package jx.db.types; 2 | 3 | 4 | public interface DbComparator { 5 | public int compare(byte[] baFirstKey, byte[] baSecondKey); 6 | public int compare(byte[] baFirstKey, int iFirstOffset, byte[] baSecondKey, 7 | int iSecondOffset, int iSize); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/db/types/DbConverter.java: -------------------------------------------------------------------------------- 1 | package jx.db.types; 2 | 3 | 4 | /** 5 | * Title: Studienarbeit 6 | * Description: 7 | * Copyright: Copyright (c) 2001 8 | * Company: 9 | * @author 10 | * @version 1.0 11 | */ 12 | 13 | import jx.db.CodedException; 14 | 15 | 16 | public interface DbConverter { 17 | void convert(Object cSrc, int iSrcOffset, Object cDest, int iDestOffset, int iSize) throws CodedException; 18 | void revert(Object cSrc, int iSrcOffset, Object cDest, int iDestOffset, int iSize) throws CodedException; 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/devices/Bus.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | public interface Bus extends Device { 4 | public abstract Device getChild(int index); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/devices/Device.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | /** 4 | * The top-level device interface. All devices must implement this interface. 5 | * @author Michael Golm 6 | */ 7 | public interface Device { 8 | 9 | /** 10 | * Return all configurations that are supported by this device. 11 | */ 12 | DeviceConfigurationTemplate[] getSupportedConfigurations (); 13 | 14 | /** 15 | * Initialize the device. 16 | */ 17 | public void open(DeviceConfiguration conf); 18 | 19 | /** 20 | * Release all resources associated with the physical device. 21 | */ 22 | public void close(); 23 | } 24 | -------------------------------------------------------------------------------- /src/jx/devices/DeviceConfiguration.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | abstract public class DeviceConfiguration { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/devices/DeviceConfigurationTemplate.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | /** 4 | * Allows each device to specify a range of possible configurations. 5 | * The concrete configuration must be created using the information 6 | * provided in this template and passed to the open method of Device 7 | * as DeviceConfiguration. 8 | * @author Michael Golm 9 | */ 10 | abstract public class DeviceConfigurationTemplate { 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/devices/DeviceFinder.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | public interface DeviceFinder { 4 | public Device[] find(String[] args); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/devices/DeviceInfo.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | public class DeviceInfo { 4 | String name; 5 | String description; 6 | String vendor; 7 | String version; 8 | 9 | public DeviceInfo(String name, String description, String vendor, String version) { 10 | this.name = name; 11 | this.description = description; 12 | this.vendor = vendor; 13 | this.version = version; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/devices/KeyListener.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | import jx.zero.Portal; 4 | 5 | public interface KeyListener extends Portal { 6 | public void keyPressed(int scancode); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/devices/Keyboard.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | import jx.zero.Portal; 4 | 5 | public interface Keyboard extends Portal { 6 | public void addKeyListener(KeyListener listener); 7 | public int getc(); 8 | public int getcode(); 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/devices/Mouse.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | public interface Mouse extends jx.zero.Portal { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/devices/Screen.java: -------------------------------------------------------------------------------- 1 | package jx.devices; 2 | 3 | import jx.zero.*; 4 | 5 | public interface Screen extends Portal { 6 | public int getWidth(); 7 | public int getHeight(); 8 | public void moveCursorTo(int x, int y); 9 | public void putAt(int x, int y, char c); 10 | public void clear(); 11 | public DeviceMemory getVideoMemory(); 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/devices/net/NetworkConfigurationTemplate.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | import jx.devices.*; 4 | 5 | public class NetworkConfigurationTemplate extends DeviceConfigurationTemplate { 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/devices/net/NetworkDevice.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | import jx.zero.*; 4 | import jx.buffer.separator.NonBlockingMemoryConsumer; 5 | import jx.devices.Device; 6 | 7 | public interface NetworkDevice extends Device, Portal { 8 | public static final int RECEIVE_MODE_INDIVIDUAL = 1; 9 | public static final int RECEIVE_MODE_PROMISCOUS = 2; 10 | public static final int RECEIVE_MODE_MULTICAST = 3; 11 | 12 | public void setReceiveMode(int mode); 13 | public Memory transmit(Memory buf); 14 | public Memory transmit1(Memory buf, int offset, int size); 15 | public byte[] getMACAddress(); 16 | public int getMTU(); 17 | public boolean registerNonBlockingConsumer(NonBlockingMemoryConsumer consumer); 18 | } 19 | -------------------------------------------------------------------------------- /src/jx/devices/net/NoMoreElementsException.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | public class NoMoreElementsException extends Exception {} 4 | -------------------------------------------------------------------------------- /src/jx/devices/net/PacketsProducer.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | public interface PacketsProducer { 4 | void reenablePacketProduction(); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/devices/net/PacketsQueue.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | public interface PacketsQueue extends PacketsQueueProducer, PacketsQueueConsumer { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/devices/net/PacketsQueueConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | import jx.zero.*; 4 | 5 | public interface PacketsQueueConsumer extends Portal { 6 | /** 7 | * get next packet 8 | * blocks until packet is available 9 | */ 10 | public Memory get(Memory o); 11 | public boolean isEmpty(); 12 | public int size(); 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/devices/net/PacketsQueueProducer.java: -------------------------------------------------------------------------------- 1 | package jx.devices.net; 2 | 3 | import jx.zero.*; 4 | 5 | public interface PacketsQueueProducer extends Portal { 6 | public Memory add(Memory o, int length); 7 | public boolean isEmpty(); 8 | public int size(); 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/devices/pci/CapabilityAGP.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public class CapabilityAGP extends PCICapability { 4 | final static int AGP_REV = 0; 5 | final static int AGP_REV_MASK = 0x00ff0000; 6 | final static int AGP_REV_SHIFT = 16; 7 | final static int AGP_STATUS = 1; 8 | final static int AGP_COMMAND = 2; 9 | 10 | CapabilityAGP(PCIDevice device, int baseRegister){ 11 | super(PCICap.ID_AGP, device, baseRegister); 12 | } 13 | 14 | public byte getRevision(){ 15 | return (byte)device.readPackedConfig(baseRegister+AGP_REV, AGP_REV_MASK, AGP_REV_SHIFT); 16 | } 17 | 18 | public int getStatus(){ 19 | return device.readConfig(baseRegister+AGP_STATUS); 20 | } 21 | 22 | public int getCommand(){ 23 | return device.readConfig(baseRegister+AGP_COMMAND); 24 | } 25 | public void setCommand(int mask, int val){ 26 | device.writePackedConfig(baseRegister+AGP_COMMAND, mask, val); 27 | } 28 | 29 | public String toString(){ 30 | return "AGP(0x"+Integer.toHexString(baseRegister)+")"; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /src/jx/devices/pci/CapabilityPM.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public class CapabilityPM extends PCICapability { 4 | CapabilityPM(PCIDevice device, int baseRegister){ 5 | super(PCICap.ID_PM, device, baseRegister); 6 | } 7 | 8 | public String toString(){ 9 | return "PM(0x"+Integer.toHexString(baseRegister)+")"; 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/jx/devices/pci/CapabilitySI.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public class CapabilitySI extends PCICapability { 4 | CapabilitySI(PCIDevice device, int baseRegister){ 5 | super(PCICap.ID_SI, device, baseRegister); 6 | } 7 | 8 | public String toString(){ 9 | return "SI(0x"+Integer.toHexString(baseRegister)+")"; 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/jx/devices/pci/CapabilityVPD.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public class CapabilityVPD extends PCICapability { 4 | CapabilityVPD(PCIDevice device, int baseRegister){ 5 | super(PCICap.ID_VPD, device, baseRegister); 6 | } 7 | 8 | public String toString(){ 9 | return "VPD(0x"+Integer.toHexString(baseRegister)+")"; 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/jx/devices/pci/PCIAccess.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | import jx.zero.Portal; 4 | 5 | public interface PCIAccess extends Portal { 6 | int getNumberOfDevices(); 7 | PCIDevice getDeviceAt(int index); 8 | 9 | PCIDevice[] getDevicesByID(short vendorID, short deviceID); 10 | PCIDevice[] getDevicesByClass(int mask, int classcode); 11 | 12 | 13 | int readDeviceConfig(PCIAddress devaddr, int reg); 14 | void writeDeviceConfig(PCIAddress devaddr, int reg, int value); 15 | 16 | void dumpDevices(); /* debugging */ 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/devices/pci/PCIAddress.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public class PCIAddress { 4 | int bus; 5 | int device; 6 | int function; 7 | 8 | public PCIAddress(int bus, int device, int function){ 9 | this.bus = bus; 10 | this.device = device; 11 | this.function = function; 12 | } 13 | 14 | public PCIAddress getSubfunction(int subfunction){ 15 | return new PCIAddress(bus, device, subfunction); 16 | } 17 | 18 | public boolean equals(PCIAddress other){ 19 | return (this == other) || 20 | ((this.bus == other.bus) && 21 | (this.device == other.device) && 22 | (this.function == other.function)); 23 | } 24 | 25 | public String toString(){ 26 | return "@PCI("+bus+","+device+","+function+")"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/jx/devices/pci/PCICap.java: -------------------------------------------------------------------------------- 1 | package jx.devices.pci; 2 | 3 | public interface PCICap { 4 | 5 | /* Capability IDs */ 6 | 7 | byte ID_PM = 0x01; /* Power Management */ 8 | byte ID_AGP = 0x02; /* Advanced Graphics Port */ 9 | byte ID_VPD = 0x03; /* Vital Product Data */ 10 | byte ID_SI = 0x04; /* Slot Identification */ 11 | byte ID_MSI = 0x05; /* Message Signaled Interrupts */ 12 | 13 | 14 | /* Bit definitions of Capability Header */ 15 | 16 | int CAP_ID_MASK = 0x000000ff; 17 | int CAP_ID_SHIFT = 0; 18 | int CAP_NEXT_MASK = 0x0000ff00; 19 | int CAP_NEXT_SHIFT = 8; 20 | } 21 | -------------------------------------------------------------------------------- /src/jx/emulation/ClockImpl.java: -------------------------------------------------------------------------------- 1 | package jx.emulation; 2 | 3 | import jx.zero.MemoryManager; 4 | import jx.zero.*; 5 | 6 | class ClockImpl implements Clock { 7 | int t; 8 | public int getTimeInMillis() { return (int)((System.currentTimeMillis()) & 0xffffffff); } 9 | public long getTicks() {return 0;} 10 | public int getTicks_low(){return (int)((System.currentTimeMillis()*500000) & 0xffffffff);} 11 | public int getTicks_high(){return (int)(((System.currentTimeMillis()*500000) >> 32) & 0xffffffff);} 12 | public void getCycles(CycleTime c) {} 13 | public void subtract(CycleTime result, CycleTime a, CycleTime b){} 14 | public int toMicroSec(CycleTime c) {return 0;} 15 | public int toNanoSec(CycleTime c) {return 0;} 16 | public int toMilliSec(CycleTime c) {return 0;} 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/emulation/ComponentManagerImpl.java: -------------------------------------------------------------------------------- 1 | package jx.emulation; 2 | 3 | import jx.zero.*; 4 | 5 | public class ComponentManagerImpl implements ComponentManager { 6 | @Override 7 | public void registerLib(String name,Memory libcode) { 8 | throw new Error("registerLib not emulated"); 9 | } 10 | @Override 11 | public int load(String name){throw new Error();} 12 | 13 | @Override 14 | public void setInheritThread(String classname) { 15 | throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/emulation/DebugChannelImpl.java: -------------------------------------------------------------------------------- 1 | package jx.emulation; 2 | 3 | import java.io.*; 4 | import jx.zero.debug.*; 5 | 6 | class DebugChannelImpl implements DebugChannel { 7 | @Override 8 | public void write(int b) { 9 | System.out.write(b); 10 | } 11 | @Override 12 | public int read() { 13 | try { 14 | return System.in.read(); 15 | }catch(IOException ex) { 16 | } 17 | return -1; 18 | } 19 | @Override 20 | public void writeBuf(byte[] b, int off, int len) { 21 | for(int i=off; i> 4) & 15; 14 | if (part > 0) 15 | retval += String.valueOf(part); // ohne +1 16 | return retval; 17 | } 18 | 19 | public static int nameToDevice(String name) { 20 | int device = -1, part = 0; 21 | 22 | if (name.equals("hdemul")) return 99; 23 | if (name.startsWith("hda")) device = 0; 24 | if (name.startsWith("hdb")) device = 2; 25 | if (name.startsWith("hdc")) device = 1; 26 | if (name.startsWith("hdd")) device = 3; 27 | if (device == -1) 28 | return -1; 29 | if (name.length() > 3) 30 | part = Integer.parseInt(name.substring(3, 4)); // ohne -1, besser nur substring(3) ? 31 | return ((part << 4) | device); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/jx/framebuffer/ClippingRectangle.java: -------------------------------------------------------------------------------- 1 | package jx.framebuffer; 2 | 3 | public class ClippingRectangle implements Cloneable { 4 | int xmin, ymin; 5 | int xmax, ymax; 6 | 7 | public ClippingRectangle(int x1, int y1, int x2, int y2){ 8 | xmin = Math.min(x1, x2); 9 | ymin = Math.min(y1, y2); 10 | xmax = Math.max(x1, x2); 11 | ymax = Math.max(y1, y2); 12 | } 13 | 14 | public int xmin(){ return xmin; } 15 | public int ymin(){ return ymin; } 16 | public int xmax(){ return xmax; } 17 | public int ymax(){ return ymax; } 18 | 19 | public Object clone() { 20 | try { 21 | return super.clone(); 22 | } 23 | catch(CloneNotSupportedException e){} 24 | return null; 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/jx/framebuffer/ClippingTransformer.java: -------------------------------------------------------------------------------- 1 | package jx.framebuffer; 2 | 3 | public interface ClippingTransformer { 4 | ClippingRectangle []transformClippings(ClippingRectangle rects[]); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/framebuffer/MemoryFramebuffer.java: -------------------------------------------------------------------------------- 1 | package jx.framebuffer; 2 | 3 | import jx.zero.*; 4 | 5 | public class MemoryFramebuffer extends PackedFramebufferImpl { 6 | 7 | public MemoryFramebuffer(int width, int height, int depth){ 8 | this((MemoryManager)InitialNaming.getInitialNaming().lookup("MemoryManager"), 9 | width, height, depth); 10 | } 11 | 12 | public MemoryFramebuffer(DeviceMemory mem, int width, int height, int depth){ 13 | super(width, height, depth, 0, 0, 0, mem); 14 | } 15 | 16 | public MemoryFramebuffer(MemoryManager memMgr, int width, int height, int depth){ 17 | super(width, height, depth, 18 | 0, 0, 0, 19 | memMgr.allocAligned(height*width*depthToBPP(depth), 4)); 20 | } 21 | 22 | public String framebufferType(){ 23 | return "MemoryFramebuffer"; 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /src/jx/framebuffer/PackedFramebuffer.java: -------------------------------------------------------------------------------- 1 | package jx.framebuffer; 2 | 3 | import jx.zero.Memory; 4 | 5 | /** 6 | * Definition of the interface between the graphic subsystem and the 7 | * framegrabber subsystem. 8 | */ 9 | public interface PackedFramebuffer { 10 | public int width(); /* width of framebuffer in pixel */ 11 | public int height(); /* height of framebuffer in pixel */ 12 | public int depth(); /* depth of framebuffer in bit per pixel */ 13 | 14 | public int startAddress(); /* address of pixel(0,0) */ 15 | public int scanlineOffset(); /* offset between two scanlines */ 16 | public int pixelOffset(); /* offset between two pixels */ 17 | 18 | public Memory memObj(); /* Debugging: *full* memory object */ 19 | // public String toString(); // Compiler Crash 20 | public void clear(); 21 | 22 | public String framebufferType(); /* argl should not be public */ 23 | } 24 | 25 | -------------------------------------------------------------------------------- /src/jx/fs/AlreadyMountedException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public class AlreadyMountedException extends FSException { 4 | public AlreadyMountedException() { 5 | super(); 6 | } 7 | 8 | public AlreadyMountedException(String msg) { 9 | super(msg); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/fs/DirNotEmptyException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Das angesprochene Verzeichnis ist nicht leer (z.B. beim Löschen). 5 | */ 6 | public class DirNotEmptyException extends FSException { 7 | public DirNotEmptyException() { 8 | super(); 9 | } 10 | 11 | public DirNotEmptyException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/Directory.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface Directory extends jx.fs.FSObject, jx.zero.Portal { 4 | 5 | public String[] list() throws Exception; 6 | 7 | public FSObject openRW(String name) throws Exception; 8 | public FSObject openRO(String name) throws Exception; 9 | 10 | public RegularFile create(Permission perm, String filename) throws Exception; 11 | public boolean link(Permission perm, String filename, FSObject file) throws Exception; 12 | public boolean unlink(String filename) throws Exception; 13 | public boolean mkdir(Permission perm, String dirname) throws Exception; 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/EXT2Attribute.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public class EXT2Attribute implements FSAttribute { 4 | 5 | private final int id; 6 | private final EXT2Permission perm; 7 | 8 | public EXT2Attribute(int user,EXT2Permission perm) { 9 | this.id = user; 10 | this.perm = perm; 11 | } 12 | 13 | @Override 14 | public int getUserID() { 15 | return id; 16 | } 17 | 18 | @Override 19 | public Permission getPermission() { 20 | return perm; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/fs/FSAttribute.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface FSAttribute { 4 | public int getUserID(); 5 | public Permission getPermission(); 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/fs/FSException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public class FSException extends Exception { 4 | public FSException() { 5 | super(); 6 | } 7 | 8 | public FSException(String msg) { 9 | super(msg); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/fs/FSObject.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface FSObject { 4 | public FilesystemInterface getFileSystem() throws Exception; 5 | public boolean isFile() throws Exception; 6 | public boolean isDirectory() throws Exception; 7 | public Permission getPermission() throws Exception; 8 | public FSAttribute getAttribute() throws Exception; 9 | public void close() throws Exception; 10 | public int length() throws Exception; 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/fs/FileException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public class FileException extends Exception { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/fs/FileExistsException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Die Inode existiert schon. 5 | */ 6 | public class FileExistsException extends FSException { 7 | public FileExistsException() { 8 | super("File already exists."); 9 | } 10 | 11 | public FileExistsException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/FilesystemInterface.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface FilesystemInterface extends jx.zero.Portal { 4 | 5 | public String getName(); 6 | public Permission getDefaultPermission(); 7 | 8 | public FSObject openRootDirectoryRO() throws Exception; 9 | public FSObject openRootDirectoryRW() throws Exception; 10 | 11 | public void mount() throws Exception; 12 | public void unmount() throws Exception; 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/fs/InodeIOException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Interner Fehler bei einer Inodeoperation (Inodedaten ungütig oder Fehler bei der Ein-/Ausgabe). 5 | */ 6 | public class InodeIOException extends FSException { 7 | public InodeIOException() { 8 | super("Internal inode handling error."); 9 | } 10 | 11 | public InodeIOException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/InodeNotFoundException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Die angesprochene Inode kann nicht gefunden werden 5 | */ 6 | public class InodeNotFoundException extends FSException { 7 | public InodeNotFoundException() { 8 | super("Inode not found."); 9 | } 10 | 11 | public InodeNotFoundException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/NoDirectoryInodeException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Es wird versucht, eine Operation auf eine Datei oder einen symbolischen Link auszuführen, die nur bei einem Verzeichnis 5 | * Sinn macht bzw. erlaubt ist (z.B. mknode, mkdir). 6 | */ 7 | public class NoDirectoryInodeException extends FSException { 8 | public NoDirectoryInodeException() { 9 | super("Not a directory"); 10 | } 11 | 12 | public NoDirectoryInodeException(String msg) { 13 | super(msg); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/fs/NoFileInodeException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Es wird versucht, eine Operation auf ein Verzeichnis oder einen symbolischen Link auszuführen, die nur bei einer Datei 5 | * Sinn macht bzw. erlaubt ist (z.B. read und write). 6 | */ 7 | public class NoFileInodeException extends FSException { 8 | public NoFileInodeException() { 9 | super(); 10 | } 11 | 12 | public NoFileInodeException(String msg) { 13 | super(msg); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/fs/NoSymlinkInodeException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Es wird versucht, eine Operation auf eine Datei oder ein Verzeichnis auszuführen, die nur bei einem symbolischen Link 5 | * Sinn macht bzw. erlaubt ist (z.B. setSymlink, getSymlink). 6 | */ 7 | public class NoSymlinkInodeException extends FSException { 8 | public NoSymlinkInodeException() { 9 | super(); 10 | } 11 | 12 | public NoSymlinkInodeException(String msg) { 13 | super(msg); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/fs/NotExistException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Die Inode existiert nicht mehr (wurde geloescht). 5 | */ 6 | public class NotExistException extends FSException { 7 | public NotExistException() { 8 | super("Inode has been deleted."); 9 | } 10 | 11 | public NotExistException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/NotSupportedException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Das Dateisystem "versteht" diese Operation nicht 5 | */ 6 | public class NotSupportedException extends FSException { 7 | public NotSupportedException() { 8 | super(); 9 | } 10 | 11 | public NotSupportedException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/Permission.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface Permission { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/fs/PermissionException.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | /** 4 | * Die gewüschte Operation ist in diesem Zusammenhang nicht erlaubt. 5 | */ 6 | public class PermissionException extends FSException { 7 | public PermissionException() { 8 | super("Permission denied."); 9 | } 10 | 11 | public PermissionException(String msg) { 12 | super(msg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/fs/ReadOnlyDirectory.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface ReadOnlyDirectory extends jx.fs.FSObject, jx.zero.Portal { 4 | public String[] list() throws Exception; 5 | public FSObject openRO(String name) throws Exception; 6 | public FSObject openRW(String name) throws Exception; 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/fs/ReadOnlyRegularFile.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface ReadOnlyRegularFile extends jx.fs.FSObject, jx.zero.Portal { 6 | 7 | public void close() throws Exception; 8 | public void sync() throws Exception; 9 | 10 | /** 11 | * Reads up to b.length bytes of data from this file into an array of bytes. 12 | */ 13 | 14 | public int read(int pos, Memory mem,int off, int len) throws Exception; 15 | public int length() throws Exception; 16 | } 17 | -------------------------------------------------------------------------------- /src/jx/fs/RegularFile.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface RegularFile extends jx.fs.FSObject, jx.zero.Portal { 6 | 7 | public void close() throws Exception; 8 | 9 | public void sync() throws Exception; 10 | 11 | /** 12 | * Reads up to b.length bytes of data from this file into an array of bytes. 13 | */ 14 | 15 | public int read(int pos, Memory mem,int off, int len) throws Exception; 16 | 17 | /** 18 | * Writes len bytes from the specified byte array starting at offset off to this file. 19 | */ 20 | 21 | public int write(int pos, Memory mem, int off, int len) throws Exception; 22 | 23 | /** 24 | * Appends len bytes from the specified byte array starting at offset off to this file. 25 | */ 26 | 27 | public int append(Memory mem, int off, int len) throws Exception; 28 | 29 | /** 30 | * Sets the length of this file. 31 | */ 32 | 33 | public int setLength(long newLength) throws Exception; 34 | 35 | public int length() throws Exception; 36 | } 37 | -------------------------------------------------------------------------------- /src/jx/fs/StatFS.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public class StatFS { 4 | public int tsize; 5 | public int bsize; 6 | public int blocks; // total blocks 7 | public int bfree; // free blocks 8 | public int bavail; // available blocks 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/fs/VolumeManager.java: -------------------------------------------------------------------------------- 1 | package jx.fs; 2 | 3 | public interface VolumeManager extends jx.zero.Portal { 4 | Directory getRootDirectory(String volumeSpec); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/fs/buffercache/BufferHead.java: -------------------------------------------------------------------------------- 1 | package jx.fs.buffercache; 2 | 3 | import jx.zero.Memory; 4 | 5 | public abstract class BufferHead extends jx.buffer.BufferHead { 6 | public BufferHead(Memory buf) { super(buf); } 7 | 8 | public abstract int getBlock(); 9 | public abstract int getSize(); 10 | public abstract void endIo(boolean error, boolean synchronous); 11 | 12 | public abstract boolean isDirty(); 13 | public abstract void markDirty(); 14 | public abstract void markClean(); 15 | 16 | public abstract boolean isUptodate(); 17 | public abstract void markUptodate(); 18 | 19 | public abstract boolean isLocked(); 20 | public abstract void lock(); 21 | public abstract void unlock(); 22 | public abstract void waitUntilUnlocked(); 23 | public abstract void waitOn(); 24 | 25 | 26 | 27 | public abstract void clear(); 28 | public abstract void clear(int from, int to); 29 | 30 | public abstract boolean isUsed(); 31 | public abstract boolean isUsedOnlyByMe(); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/jx/net/AddressResolution.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | public interface AddressResolution { 4 | public boolean register(Object o); 5 | public void notifyAddressChange(Object o); 6 | 7 | /** map fromAddress to target address 8 | * @param fromAddress 9 | * @return 10 | * @throws jx.net.UnknownAddressException */ 11 | public byte[] lookup(byte[] fromAddress) throws UnknownAddressException; 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/net/EtherConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface EtherConsumer { 6 | Memory processEther(EtherData data); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/net/EtherData.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | 4 | import jx.zero.Memory; 5 | 6 | public class EtherData { 7 | public byte[] srcAddress; 8 | public byte[] dstAddress; 9 | public Memory mem; 10 | public int offset,size; // only used when memory splitting is avoided 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/net/EtherProducer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | public interface EtherProducer { 4 | public boolean registerConsumerEther(EtherConsumer consumer, String name); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/net/IPConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | 4 | import jx.zero.Memory; 5 | 6 | public interface IPConsumer { 7 | Memory processIP(IPData data); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/net/IPData.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | 4 | import jx.zero.Memory; 5 | 6 | public class IPData { 7 | public IPAddress sourceAddress; 8 | public IPAddress destinationAddress; 9 | public Memory mem; 10 | public int offset, size; // only used when memory splitting is avoided 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/net/IPProducer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | public interface IPProducer { 4 | public boolean registerConsumer(IPConsumer consumer, String name); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/net/IPReceiver.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface IPReceiver extends jx.zero.Portal { 6 | IPData receive(Memory buf, int timeoutMillis); 7 | IPData receive(Memory buf); 8 | void close(); 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/net/IPSender.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface IPSender extends jx.zero.Portal { 6 | Memory send(Memory m); 7 | Memory send1(Memory m, int offset, int size); 8 | void close(); 9 | IPAddress getDestination(); 10 | } 11 | -------------------------------------------------------------------------------- /src/jx/net/NetInit.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface NetInit extends jx.zero.Portal { 6 | TCPSocket getTCPSocket(int port, IPAddress ip, Memory[] bufs); 7 | public Memory getTCPBuffer(); 8 | 9 | UDPReceiver getUDPReceiver(int port, Memory[] bufs); 10 | UDPSender getUDPSender(int localPort, IPAddress dst, int remotePort) throws jx.net.UnknownAddressException; 11 | public Memory getUDPBuffer(int size); 12 | public Memory getUDPBuffer(); 13 | 14 | IPReceiver getIPReceiver(Memory[] bufs); 15 | IPReceiver getIPReceiver(Memory[] bufs, String proto); 16 | //IPSender getIPSender(IPAddress dst) throws jx.net.UnknownAddressException; 17 | IPSender getIPSender(IPAddress dst, int id) throws jx.net.UnknownAddressException; 18 | public Memory getIPBuffer(int size); 19 | public Memory getIPBuffer(); 20 | 21 | public IPAddress getLocalAddress(); 22 | 23 | } 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/jx/net/PacketsConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.buffer.separator.MemoryConsumer; 4 | 5 | 6 | public interface PacketsConsumer extends MemoryConsumer { 7 | 8 | // public Memory sendPacket(byte[] addr, Memory buf, int offset, int count); 9 | /** 10 | * Get number of bytes need for header information 11 | * @return 12 | */ 13 | public int requiresSpace(); 14 | /** 15 | * Get Maximum Transfer Unit of the underlying network 16 | * @return 17 | */ 18 | public int getMTU(); 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/net/PacketsConsumer1.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.*; 4 | 5 | public interface PacketsConsumer1 { 6 | 7 | Memory processMemory(Memory data, int offset, int size); 8 | 9 | /** 10 | * Get number of bytes need for header information 11 | * @return 12 | */ 13 | int requiresSpace(); 14 | /** 15 | * Get Maximum Transfer Unit of the underlying network 16 | * @return 17 | */ 18 | int getMTU(); 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/net/PacketsProducer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.buffer.separator.MemoryConsumer; 4 | 5 | 6 | public interface PacketsProducer { 7 | public boolean registerConsumer(MemoryConsumer consumer, String name); 8 | // public IPAddress getSource(Memory buf); 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/net/TCPSocket.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface TCPSocket extends jx.zero.Portal { 6 | public Memory processTCP(IPData m); 7 | public Memory processTCPServer(IPData m); 8 | public void processClientSocket(); // call periodically for retransmissions ... 9 | public TCPSocket accept(Memory[] newbufs) throws java.io.IOException; 10 | public void close() throws java.io.IOException; 11 | public void open(IPAddress remoteIP, int remotePort) throws UnknownAddressException, java.io.IOException; 12 | // public void send(byte data); 13 | public byte[] readFromInputBuffer(); 14 | public void send(byte[] byteArr) throws java.io.IOException; 15 | } 16 | -------------------------------------------------------------------------------- /src/jx/net/UDPConsumer.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | 4 | import jx.zero.Memory; 5 | 6 | public interface UDPConsumer { 7 | Memory processUDP(UDPData data); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/net/UDPData.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | 4 | import jx.zero.Memory; 5 | 6 | public class UDPData { 7 | public IPAddress sourceAddress; 8 | public int sourcePort; 9 | public Memory mem; 10 | public int offset, size; // only used when memory splitting is avoided 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/net/UDPReceiver.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface UDPReceiver extends jx.zero.Portal { 6 | UDPData receive(Memory buf, int timeoutMillis); 7 | UDPData receive(Memory buf); 8 | void close(); 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/net/UDPSender.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | import jx.zero.Memory; 4 | 5 | public interface UDPSender extends jx.zero.Portal { 6 | Memory send(Memory m); 7 | Memory send1(Memory m, int offset, int size); 8 | void close(); 9 | int getLocalPort(); 10 | int getRemotePort(); 11 | IPAddress getDestination(); 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/net/UnknownAddressException.java: -------------------------------------------------------------------------------- 1 | package jx.net; 2 | 3 | public class UnknownAddressException extends Exception { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/net/dispatch/UpperLayer.java: -------------------------------------------------------------------------------- 1 | package jx.net.dispatch; 2 | 3 | import jx.buffer.separator.*; 4 | 5 | 6 | public class UpperLayer { 7 | int id; 8 | String name; 9 | MemoryConsumer consumer; 10 | UpperLayer(int id, String name) { this.id = id; this.name = name; } 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/net/protocol/arp/ARPTimer.java: -------------------------------------------------------------------------------- 1 | package jx.net.protocol.arp; 2 | 3 | import jx.zero.*; 4 | import jx.timer.*; 5 | 6 | /** 7 | * this is the Timer class uses by the ARP class - it clears the ARPCache every 15 minutes 8 | * otherwise a changed configuration would maybe never be recognized as the old information would stay in the cache forever 9 | */ 10 | class ARPTimer implements TimerHandler { 11 | 12 | TimerManager timerManager; 13 | 14 | ARPTimer(TimerManager timerManager) { 15 | this.timerManager = timerManager; 16 | } 17 | 18 | public void timer(Object arg) { 19 | 20 | ARP arp = ((ARPTimerArg)arg).handle(); 21 | 22 | arp.clearCache(); 23 | 24 | timerManager.addMillisTimer(900000, new ARPTimer(timerManager), arg); 25 | } 26 | 27 | public boolean equals(Object obj) { 28 | return (obj instanceof ARPTimer); 29 | } 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /src/jx/net/protocol/arp/ARPTimerArg.java: -------------------------------------------------------------------------------- 1 | package jx.net.protocol.arp; 2 | 3 | 4 | /** 5 | * argument for the ARP Timer which clears the ARPCache every 15 minutes 6 | * contains just a handle to the ARP object in order to call the clear method 7 | */ 8 | class ARPTimerArg { 9 | 10 | private ARP handle; 11 | 12 | public ARPTimerArg(ARP h) { 13 | handle = h; 14 | } 15 | 16 | public ARP handle() { 17 | return handle; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/net/protocol/tcp/TCPData.java: -------------------------------------------------------------------------------- 1 | package jx.net.protocol.tcp; 2 | 3 | import jx.net.IPData; 4 | 5 | public class TCPData extends IPData { 6 | 7 | protected int retransmitCounter; 8 | protected int retransmitTimestamp; 9 | 10 | TCPData (IPData d){ 11 | sourceAddress = d.sourceAddress; 12 | destinationAddress = d.destinationAddress; 13 | mem = d.mem; 14 | offset = d.offset; 15 | size = d.size; 16 | retransmitCounter = 0; 17 | retransmitTimestamp = 0; 18 | } 19 | 20 | public int getRetransmitCounter() { 21 | return retransmitCounter; 22 | } 23 | 24 | public void setRetransmitCounter(int retransmitCounter) { 25 | this.retransmitCounter = retransmitCounter; 26 | } 27 | 28 | public int getRetransmitTimestamp() { 29 | return retransmitTimestamp; 30 | } 31 | 32 | public void setRetransmitTimestamp(int retransmitTimestamp) { 33 | this.retransmitTimestamp = retransmitTimestamp; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/jx/net/protocol/tcp/TCPSocketState.java: -------------------------------------------------------------------------------- 1 | package jx.net.protocol.tcp; 2 | 3 | class TCPSocketState { 4 | /* marker class */ 5 | }; 6 | -------------------------------------------------------------------------------- /src/jx/rdp/crypto/CryptoException.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.crypto; 2 | 3 | /** 4 | * This class is for any unexpected exception in the crypto library. 5 | *

6 | * Copyright © 1997 7 | * Systemics Ltd on behalf of the 8 | * Cryptix Development Team. 9 | *
All rights reserved. 10 | *

11 | * $Revision: 1.1 $ 12 | * @author David Hopwood 13 | * @since Cryptix 2.2.2 14 | */ 15 | public class CryptoException 16 | extends Exception 17 | { 18 | public CryptoException() { super(); } 19 | /** @param reason the reason why the exception was thrown. */ 20 | public CryptoException(String reason) { super(reason); } 21 | } 22 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/BoundsOrder.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class BoundsOrder implements Order { 4 | 5 | private int left = 0; 6 | private int right = 0; 7 | private int top = 0; 8 | private int bottom = 0; 9 | 10 | public BoundsOrder() { 11 | } 12 | 13 | public int getLeft() { 14 | return this.left; 15 | } 16 | 17 | public int getRight() { 18 | return this.right; 19 | } 20 | 21 | public int getTop() { 22 | return this.top; 23 | } 24 | 25 | public int getBottom() { 26 | return this.bottom; 27 | } 28 | 29 | public void setLeft(int left) { 30 | this.left = left; 31 | } 32 | 33 | public void setRight(int right) { 34 | this.right = right; 35 | } 36 | 37 | public void setTop(int top) { 38 | this.top = top; 39 | } 40 | 41 | public void setBottom(int bottom) { 42 | this.bottom = bottom; 43 | } 44 | 45 | public void reset() { 46 | left = 0; 47 | right = 0; 48 | top = 0; 49 | bottom = 0; 50 | } 51 | } 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/Brush.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class Brush { 4 | 5 | private int xorigin = 0; 6 | private int yorigin = 0; 7 | private int style = 0; 8 | private byte[] pattern = new byte[8]; 9 | 10 | public Brush() { 11 | } 12 | 13 | public int getXOrigin() { 14 | return this.xorigin; 15 | } 16 | 17 | public int getYOrigin() { 18 | return this.yorigin; 19 | } 20 | 21 | public int getStyle() { 22 | return this.style; 23 | } 24 | 25 | public byte[] getPattern(){ 26 | return this.pattern; 27 | } 28 | 29 | public void setXOrigin(int xorigin) { 30 | this.xorigin = xorigin; 31 | } 32 | 33 | public void setYOrigin(int yorigin) { 34 | this.yorigin = yorigin; 35 | } 36 | 37 | public void setStyle(int style) { 38 | this.style = style; 39 | } 40 | 41 | public void getPattern(byte[] pattern){ 42 | this.pattern = pattern; 43 | } 44 | 45 | public void reset() { 46 | xorigin = 0; 47 | yorigin = 0; 48 | style = 0; 49 | pattern = new byte[8]; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/DeskSaveOrder.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class DeskSaveOrder extends BoundsOrder { 4 | 5 | private int offset = 0; 6 | private int action = 0; 7 | 8 | public DeskSaveOrder() { 9 | super(); 10 | } 11 | 12 | public int getOffset() { 13 | return this.offset; 14 | } 15 | 16 | public int getAction() { 17 | return this.action; 18 | } 19 | 20 | public void setOffset(int offset) { 21 | this.offset = offset; 22 | } 23 | 24 | public void setAction(int action) { 25 | this.action = action; 26 | } 27 | 28 | public void reset() { 29 | super.reset(); 30 | offset = 0; 31 | action = 0; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/MemBltOrder.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class MemBltOrder extends ScreenBltOrder { 4 | 5 | private int color_table = 0; 6 | private int cache_id = 0; 7 | private int cache_idx = 0; 8 | 9 | public MemBltOrder() { 10 | super(); 11 | } 12 | 13 | public int getColorTable(){ 14 | return this.color_table; 15 | } 16 | 17 | public int getCacheID() { 18 | return this.cache_id; 19 | } 20 | 21 | public int getCacheIDX() { 22 | return this.cache_idx; 23 | } 24 | 25 | public void setColorTable(int color_table) { 26 | this.color_table = color_table; 27 | } 28 | 29 | public void setCacheID(int cache_id) { 30 | this.cache_id = cache_id; 31 | } 32 | 33 | public void setCacheIDX(int cache_idx) { 34 | this.cache_idx = cache_idx; 35 | } 36 | 37 | public void reset() { 38 | super.reset(); 39 | color_table = 0; 40 | cache_id = 0; 41 | cache_idx = 0; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/Order.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public interface Order { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/PatBltOrder.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class PatBltOrder extends DestBltOrder { 4 | 5 | private int bgcolor = 0; 6 | private int fgcolor = 0; 7 | private Brush brush = null; 8 | 9 | public PatBltOrder() { 10 | super(); 11 | brush = new Brush(); 12 | } 13 | 14 | public int getBackgroundColor() { 15 | return this.bgcolor; 16 | } 17 | 18 | public int getForegroundColor() { 19 | return this.fgcolor; 20 | } 21 | 22 | public void setBackgroundColor(int bgcolor) { 23 | this.bgcolor = bgcolor; 24 | } 25 | 26 | public void setForegroundColor(int fgcolor) { 27 | this.fgcolor = fgcolor; 28 | } 29 | 30 | public void reset() { 31 | super.reset(); 32 | bgcolor = 0; 33 | fgcolor = 0; 34 | brush.reset(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/Pen.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class Pen { 4 | 5 | private int style = 0; 6 | private int width = 0; 7 | private int color = 0; 8 | 9 | public Pen() { 10 | } 11 | 12 | public int getStyle() { 13 | return this.style; 14 | } 15 | 16 | public int getWidth() { 17 | return this.width; 18 | } 19 | 20 | public int getColor() { 21 | return this.color; 22 | } 23 | 24 | public void setStyle(int style) { 25 | this.style = style; 26 | } 27 | 28 | public void setWidth(int width) { 29 | this.width = width; 30 | } 31 | 32 | public void setColor(int color) { 33 | this.color = color; 34 | } 35 | 36 | public void reset() { 37 | style = 0; 38 | width = 0; 39 | color = 0; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/jx/rdp/orders/ScreenBltOrder.java: -------------------------------------------------------------------------------- 1 | package jx.rdp.orders; 2 | 3 | public class ScreenBltOrder extends DestBltOrder { 4 | 5 | private int stcx = 0; 6 | private int stcy = 0; 7 | 8 | public ScreenBltOrder() { 9 | super(); 10 | } 11 | 12 | public int getSTCX() { 13 | return this.stcx; 14 | } 15 | 16 | public int getSTCY() { 17 | return this.stcy; 18 | } 19 | 20 | public void setSTCX(int stcx) { 21 | this.stcx = stcx; 22 | } 23 | 24 | public void setSTCY(int stcy) { 25 | this.stcy = stcy; 26 | } 27 | 28 | public void reset() { 29 | super.reset(); 30 | stcx = 0; 31 | stcy = 0; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/jx/rpc/Auth.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class Auth implements RPCData { 4 | public static final int SWITCH_AuthNone = 0; 5 | public static final int SWITCH_AuthUnix = 1; 6 | public static final int SWITCH_AuthShort = 2; 7 | 8 | public int id; 9 | 10 | public Auth() {} 11 | public Auth(int id) { this.id = id; } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/rpc/AuthNone.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class AuthNone extends Auth implements RPCData { 4 | public int length = 0; 5 | public AuthNone() { 6 | super(Auth.SWITCH_AuthNone); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/rpc/AuthShort.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class AuthShort extends Auth implements RPCData { 4 | public int length; 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/rpc/AuthUnix.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class AuthUnix extends Auth implements RPCOpaque { 4 | { id = SWITCH_AuthUnix; } 5 | 6 | public int stamp; /* random number */ 7 | public String machinename; /* max len 255 */ 8 | public int uid; 9 | public int gid; 10 | public int[] gids; /* max 16 */ 11 | 12 | 13 | public AuthUnix() { 14 | } 15 | public AuthUnix(String machinename, int uid, int gid, int[] gids) { 16 | this.stamp = (int)(System.currentTimeMillis() / 1000); 17 | this.machinename = machinename; /* max len 255 */ 18 | this.uid = uid; 19 | this.gid = gid; 20 | this.gids = gids; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCCall.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCCall extends RPCMessage implements RPCData { 4 | public int version; 5 | public int prog; 6 | public int progVersion; 7 | public int proc; 8 | public Auth a; 9 | public Auth c; 10 | 11 | public RPCCall() {} 12 | 13 | public RPCCall(int xid, int prog, int progVersion, int proc, Auth a, Auth c) { 14 | super(xid, RPCMessage.SWITCH_RPCCall); 15 | this.version = 2; 16 | this.prog = prog; 17 | this.progVersion = progVersion; 18 | this.proc = proc; 19 | this.a = a; 20 | this.c = c; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCContinuation.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | import jx.zero.Memory; 4 | 5 | public class RPCContinuation { 6 | public Memory buf; 7 | public RPC rpc; 8 | public Waiter waiter; 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCData.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCData { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCEnum.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCEnum { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCException.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCException extends RuntimeException { 4 | public RPCException() { } 5 | public RPCException(String msg) { super(msg); } 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterAuthNone.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterAuthNone { 6 | public static void write(RPCBuffer buf, jx.rpc.AuthNone obj) { 7 | Format.writeInt(buf,obj.length); 8 | } 9 | public static jx.rpc.AuthNone read(RPCBuffer buf) { 10 | jx.rpc.AuthNone obj; 11 | obj = new jx.rpc.AuthNone(); 12 | obj.length= Format.readInt(buf); 13 | return obj; 14 | } 15 | public static int length(jx.rpc.AuthNone obj) { 16 | int _l = 0; 17 | _l += Format.lengthInt(obj.length); 18 | return _l; 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterAuthShort.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterAuthShort { 6 | public static void write(RPCBuffer buf, jx.rpc.AuthShort obj) { 7 | Format.writeInt(buf,obj.length); 8 | } 9 | public static jx.rpc.AuthShort read(RPCBuffer buf) { 10 | jx.rpc.AuthShort obj; 11 | obj = new jx.rpc.AuthShort(); 12 | obj.length= Format.readInt(buf); 13 | return obj; 14 | } 15 | public static int length(jx.rpc.AuthShort obj) { 16 | int _l = 0; 17 | _l += Format.lengthInt(obj.length); 18 | return _l; 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCHeader.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCHeader { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCHeader obj) { 7 | Format.writeInt(buf,obj.xid); 8 | RPCFormatterRPCMessage.write(buf, obj.msg); 9 | } 10 | public static jx.rpc.RPCHeader read(RPCBuffer buf) { 11 | jx.rpc.RPCHeader obj; 12 | obj = new jx.rpc.RPCHeader(); 13 | obj.xid= Format.readInt(buf); 14 | obj.msg = (jx.rpc.RPCMessage)RPCFormatterRPCMessage.read(buf); 15 | return obj; 16 | } 17 | public static int length(jx.rpc.RPCHeader obj) { 18 | int _l = 0; 19 | _l += Format.lengthInt(obj.xid); 20 | _l += RPCFormatterRPCMessage.length(obj.msg); 21 | return _l; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCMsgProgMismatch.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCMsgProgMismatch { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCMsgProgMismatch obj) { 7 | RPCFormatterRPCMsgAccepted.write(buf, obj); 8 | Format.writeInt(buf,obj.low); 9 | Format.writeInt(buf,obj.high); 10 | } 11 | public static jx.rpc.RPCMsgProgMismatch read(RPCBuffer buf) { 12 | jx.rpc.RPCMsgProgMismatch obj; 13 | obj = new jx.rpc.RPCMsgProgMismatch(); 14 | obj.low= Format.readInt(buf); 15 | obj.high= Format.readInt(buf); 16 | return obj; 17 | } 18 | public static int length(jx.rpc.RPCMsgProgMismatch obj) { 19 | int _l = 0; 20 | _l += Format.lengthInt(obj.low); 21 | _l += Format.lengthInt(obj.high); 22 | return _l; 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCMsgProgUnavailable.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCMsgProgUnavailable { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCMsgProgUnavailable obj) { 7 | RPCFormatterRPCMsgAccepted.write(buf, obj); 8 | } 9 | public static jx.rpc.RPCMsgProgUnavailable read(RPCBuffer buf) { 10 | jx.rpc.RPCMsgProgUnavailable obj; 11 | obj = new jx.rpc.RPCMsgProgUnavailable(); 12 | return obj; 13 | } 14 | public static int length(jx.rpc.RPCMsgProgUnavailable obj) { 15 | int _l = 0; 16 | return _l; 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCMsgRejectAuth.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCMsgRejectAuth { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCMsgRejectAuth obj) { 7 | Format.writeInt(buf,obj.authStatus); 8 | } 9 | public static jx.rpc.RPCMsgRejectAuth read(RPCBuffer buf) { 10 | jx.rpc.RPCMsgRejectAuth obj; 11 | obj = new jx.rpc.RPCMsgRejectAuth(); 12 | obj.authStatus= Format.readInt(buf); 13 | return obj; 14 | } 15 | public static int length(jx.rpc.RPCMsgRejectAuth obj) { 16 | int _l = 0; 17 | _l += Format.lengthInt(obj.authStatus); 18 | return _l; 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCMsgRejectMismatch.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCMsgRejectMismatch { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCMsgRejectMismatch obj) { 7 | Format.writeInt(buf,obj.low); 8 | Format.writeInt(buf,obj.high); 9 | } 10 | public static jx.rpc.RPCMsgRejectMismatch read(RPCBuffer buf) { 11 | jx.rpc.RPCMsgRejectMismatch obj; 12 | obj = new jx.rpc.RPCMsgRejectMismatch(); 13 | obj.low= Format.readInt(buf); 14 | obj.high= Format.readInt(buf); 15 | return obj; 16 | } 17 | public static int length(jx.rpc.RPCMsgRejectMismatch obj) { 18 | int _l = 0; 19 | _l += Format.lengthInt(obj.low); 20 | _l += Format.lengthInt(obj.high); 21 | return _l; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCFormatterRPCMsgSuccess.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | public class RPCFormatterRPCMsgSuccess { 6 | public static void write(RPCBuffer buf, jx.rpc.RPCMsgSuccess obj) { 7 | RPCFormatterRPCMsgAccepted.write(buf, obj); 8 | } 9 | 10 | public static jx.rpc.RPCMsgSuccess read(RPCBuffer buf) { 11 | jx.rpc.RPCMsgSuccess obj; 12 | obj = new jx.rpc.RPCMsgSuccess(); 13 | return obj; 14 | } 15 | public static int length(jx.rpc.RPCMsgSuccess obj) { 16 | int _l = 0; 17 | return _l; 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCHeader.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | /* Format of the RPC header, RPC version 2: (RFC 1831) 4 | */ 5 | 6 | public class RPCHeader implements RPCData { 7 | public int xid; 8 | public RPCMessage msg; 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCInitException.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCInitException extends Exception { 4 | public RPCInitException() {} 5 | public RPCInitException(String msg) { super(msg);} 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMessage.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMessage implements RPCData { 4 | /* message type */ 5 | public static final int SWITCH_RPCCall = 0; 6 | public static final int SWITCH_RPCReply = 1; 7 | 8 | public int xid; 9 | public int msgType; 10 | 11 | 12 | public RPCMessage() {} 13 | public RPCMessage(int xid, int msgType) { 14 | this.xid = xid; 15 | this.msgType = msgType; 16 | } 17 | 18 | public int getID() { return xid; } 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgAccepted.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgAccepted extends RPCReply { 4 | public static final int SWITCH_RPCMsgSuccess = 0; 5 | public static final int SWITCH_RPCMsgProgUnavailable = 1; 6 | public static final int SWITCH_RPCMsgProgMismatch = 2; 7 | 8 | public Auth verf; 9 | public int stat; 10 | 11 | public RPCMsgAccepted() { 12 | } 13 | 14 | public RPCMsgAccepted(int xid, Auth verf, int stat) { 15 | super(xid, RPCReply.SWITCH_RPCMsgAccepted); 16 | this.verf = verf; 17 | this.stat = stat; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgDenied.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgDenied extends RPCReply { 4 | public static final int SWITCH_RPCMsgRejectMismatch = 0;/* RPC version number != 2 */ 5 | public static final int SWITCH_RPCMsgRejectAuth = 1; /* remote can't authenticate caller */ 6 | 7 | public int status; 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgProgMismatch.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgProgMismatch extends RPCMsgAccepted { 4 | public int low; 5 | public int high; 6 | 7 | 8 | public RPCMsgProgMismatch() {} 9 | public RPCMsgProgMismatch(int xid, Auth verf, int low, int high) { 10 | super(xid, verf, RPCMsgAccepted.SWITCH_RPCMsgProgMismatch); 11 | this.low = low; 12 | this.high = high; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgProgUnavailable.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgProgUnavailable extends RPCMsgAccepted { 4 | 5 | public RPCMsgProgUnavailable() { 6 | } 7 | public RPCMsgProgUnavailable(int xid, Auth verf) { 8 | super(xid, verf, RPCMsgAccepted.SWITCH_RPCMsgProgUnavailable); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgRejectMismatch.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgRejectMismatch extends RPCMsgDenied { 4 | public int low; 5 | public int high; 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCMsgSuccess.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCMsgSuccess extends RPCMsgAccepted { 4 | 5 | public RPCMsgSuccess() {} 6 | 7 | public RPCMsgSuccess(int xid, Auth verf) { 8 | super(xid, verf, RPCMsgAccepted.SWITCH_RPCMsgSuccess); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCOpaque.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | /** 4 | * Use for RPCData classes that are treated as opaque data 5 | * in the RPC specification. 6 | */ 7 | public interface RPCOpaque { 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCOptional.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCOptional { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCProc.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCProc { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCReader.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCReader { 4 | public Object read(byte[] buf, int offset); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCReply.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public class RPCReply extends RPCMessage { 4 | public static final int SWITCH_RPCMsgAccepted = 0; 5 | public static final int SWITCH_RPCMsgDenied = 1; 6 | public int status; 7 | 8 | public RPCReply() { 9 | } 10 | public RPCReply(int xid, int status) { 11 | super(xid, RPCMessage.SWITCH_RPCReply); 12 | this.status = status; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCUnion.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCUnion { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/rpc/RPCWriter.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | public interface RPCWriter { 4 | public int write(byte[] buf, int offset, Object data); 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/rpc/Waiter.java: -------------------------------------------------------------------------------- 1 | package jx.rpc; 2 | 3 | import jx.zero.*; 4 | 5 | public class Waiter { 6 | int xid; 7 | Memory buf; 8 | CPUState waiter; 9 | RPC rpc; 10 | Waiter(RPC rpc, int xid, Memory buf) { this.rpc = rpc; this.xid = xid; this.buf = buf; } 11 | 12 | void doWait() { 13 | waiter = rpc.cpuManager.getCPUState(); 14 | rpc.cpuManager.block(); 15 | } 16 | 17 | void unblock() { 18 | rpc.cpuManager.unblock(waiter); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/bind2/Service.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.bind2; 2 | import jx.rpc.*; 3 | import jx.zero.debug.Dump; 4 | import jx.xdr.Format; 5 | import jx.zero.*; 6 | class Service { 7 | int prog, vers, protocol, port; 8 | Service(int prog, int vers, int protocol, int port) { 9 | this.prog = prog; 10 | this.vers = vers; 11 | this.protocol = protocol; 12 | this.port = port; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/ExportNode.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | public class ExportNode implements jx.rpc.RPCData { 4 | public jx.rpcsvc.nfs2.DirPath ex_dir; 5 | public Groups ex_groups; 6 | public Exports next; 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/Exports.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | import jx.rpc.*; 3 | 4 | public class Exports implements RPCOptional,RPCData { 5 | public ExportNode node; 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/FHStatus.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | import jx.rpc.*; 4 | 5 | public class FHStatus implements RPCData, RPCUnion { 6 | public static final int SWITCH_FHStatusOK = 0; 7 | 8 | public int status; 9 | 10 | public FHStatus() {} 11 | public FHStatus(int status) { this.status = status;} 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/FHStatusOK.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | public class FHStatusOK extends FHStatus { 4 | public jx.rpcsvc.nfs2.FHandle directory; 5 | 6 | 7 | public FHStatusOK() {} 8 | public FHStatusOK(jx.rpcsvc.nfs2.FHandle d) { 9 | super(FHStatus.SWITCH_FHStatusOK); 10 | directory = d; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/GroupNode.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | public class GroupNode implements jx.rpc.RPCData { 4 | public jx.rpcsvc.nfs2.Name gr_name; 5 | public Groups next; 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/Groups.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | import jx.rpc.*; 3 | 4 | public class Groups implements RPCOptional,RPCData { 5 | public GroupNode node; 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/MountBody.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | public class MountBody implements jx.rpc.RPCData { 4 | jx.rpcsvc.nfs2.Name ml_hostname; 5 | jx.rpcsvc.nfs2.DirPath ml_directory; 6 | MountList ml_next; 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/MountList.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | public class MountList implements jx.rpc.RPCData { 4 | MountBody data; 5 | } 6 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/mount1/MountProc.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.mount1; 2 | 3 | import jx.rpc.*; 4 | 5 | /** 6 | * RFC 1094 7 | */ 8 | public interface MountProc extends RPCProc { 9 | public static final int VERSION = 1; 10 | public static final int PROGRAM = 100005; 11 | 12 | public static final int MID_nullproc_0 = 0; 13 | public static final int MID_mnt_1 = 0; 14 | public static final int MID_dump_2 = 0; 15 | public static final int MID_umnt_3 = 0; 16 | public static final int MID_umntall_4 = 0; 17 | public static final int MID_export_5 = 0; 18 | 19 | void nullproc(); 20 | FHStatus mnt(jx.rpcsvc.nfs2.DirPath d); 21 | MountList dump(); 22 | void umnt(jx.rpcsvc.nfs2.DirPath d); 23 | void umntall(); 24 | Exports export(); 25 | } 26 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/nfs2/NFSException.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.nfs2; 2 | 3 | import jx.fs.FSException; 4 | 5 | public class NFSException extends FSException { 6 | public NFSException(String msg) { super(msg); } 7 | public NFSException() { super(); } 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/rpcsvc/nfs2/NFSMountError.j: -------------------------------------------------------------------------------- 1 | package jx.rpcsvc.nfs2; 2 | 3 | public class NFSMountError extends NFSException { 4 | int status; 5 | public NFSMountError(int status) { super("Status: " + status); } 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/rtc/RTC.java: -------------------------------------------------------------------------------- 1 | package jx.rtc; 2 | 3 | import jx.zero.*; 4 | 5 | public interface RTC extends Portal { 6 | public static final byte HZ_2 = 0xf; 7 | public static final byte HZ_4 = 0xe; 8 | public static final byte HZ_8 = 0xd; 9 | public static final byte HZ_16 = 0xc; 10 | public static final byte HZ_32 = 0xb; 11 | public static final byte HZ_64 = 0xa; 12 | public static final byte HZ_128 = 0x9; 13 | public static final byte HZ_256 = 0x8; 14 | public static final byte HZ_512 = 0x7; 15 | public static final byte HZ_1024 = 0x6; 16 | public static final byte HZ_2048 = 0x5; 17 | public static final byte HZ_4096 = 0x4; 18 | public static final byte HZ_8192 = 0x3; 19 | 20 | int getTime(); 21 | void installIntervallTimer(AtomicVariable atomic, CPUState state, int msec); 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/scheduler/SchedulerPortal.java: -------------------------------------------------------------------------------- 1 | package jx.scheduler; 2 | 3 | import jx.zero.*; 4 | 5 | public interface SchedulerPortal extends Portal { 6 | public void changeScheduler(); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/scheduler/SuperHLRRobin.java: -------------------------------------------------------------------------------- 1 | package jx.scheduler; 2 | 3 | public class SuperHLRRobin extends HLRRobin { 4 | 5 | public SuperHLRRobin() { 6 | super(); 7 | } 8 | 9 | /** extract all ThreadInfo from the previous Scheduler */ 10 | public void getThreads(SuperHLRRobin oldSched) { 11 | this.runnables = oldSched.runnables; 12 | } 13 | 14 | public String toString() { 15 | return "this is a SuperHLRRobin Object"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/scheduler/ThreadList.java: -------------------------------------------------------------------------------- 1 | package jx.scheduler; 2 | 3 | import jx.zero.*; 4 | 5 | public class ThreadList extends LinkedList { 6 | final private HLSchedulerSupport HLschedulerSupport=(HLSchedulerSupport)InitialNaming.getInitialNaming().lookup("HLSchedulerSupport"); 7 | 8 | public void dump() { 9 | if (getFirst() == null) 10 | Debug.out.println(" none"); 11 | else 12 | for ( CPUState t = (CPUState)getFirst(); t != null; t=(CPUState)getNext()) { 13 | HLschedulerSupport.dumpThread(t); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/jx/scheduler/ThreadListCAS.java: -------------------------------------------------------------------------------- 1 | package jx.scheduler; 2 | 3 | import jx.zero.*; 4 | 5 | public class ThreadListCAS extends LinkedListCAS { 6 | final private HLSchedulerSupport HLschedulerSupport=(HLSchedulerSupport)InitialNaming.getInitialNaming().lookup("HLSchedulerSupport"); 7 | 8 | public void dump() { 9 | if (getFirst() == null){ 10 | Debug.out.println(" none"); 11 | } else { 12 | for ( CPUState t = (CPUState)getFirst(); t != null; t=(CPUState)getNext()) { 13 | HLschedulerSupport.dumpThread(t); 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/secmgr/Principal_impl.java: -------------------------------------------------------------------------------- 1 | package jx.secmgr; 2 | 3 | import jx.zero.Principal; 4 | 5 | public class Principal_impl implements Principal { 6 | String name; 7 | int uid; 8 | public Principal_impl(String name, int uid) { 9 | this.name = name; 10 | this.uid = uid; 11 | } 12 | public String toString() { return name+"("+Integer.toString(uid)+")"; } 13 | 14 | public boolean equals( Principal p) { return ( name.equals(((Principal_impl)p).name) && uid==((Principal_impl)p).uid); } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/jx/synch/mutex/BlockingLock.java: -------------------------------------------------------------------------------- 1 | package jx.synch.mutex; 2 | 3 | public interface BlockingLock { 4 | void lock(); 5 | void unlock(); 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/synch/mutex/Test.java: -------------------------------------------------------------------------------- 1 | package jx.synch.mutex; 2 | 3 | import jx.zero.*; 4 | import jx.zero.debug.*; 5 | 6 | public class Test implements Runnable { 7 | public static void init (final Naming naming /*String []args*/) { 8 | Debug.out = new DebugPrintStream(new DebugOutputStream((DebugChannel) naming.lookup("DebugChannel0"))); 9 | new Test(); 10 | } 11 | 12 | int a; 13 | BlockingLock mutex = new BlockingLockImpl(); 14 | 15 | Test(){ 16 | for(int i=0; i<10; i++) { 17 | new Thread(this).start(); 18 | } 19 | } 20 | 21 | @Override 22 | public void run() { 23 | mutex.lock(); 24 | for(int i=0; i<1000000; i++) a++; 25 | mutex.unlock(); 26 | Debug.out.println("a="+a); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/jx/synch/nonblocking2/Queue.java: -------------------------------------------------------------------------------- 1 | package jx.synch.nonblocking2; 2 | 3 | import jx.zero.*; 4 | 5 | public interface Queue { 6 | void enqueue(Object value); 7 | Object dequeue() throws QueueEmptyException; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /src/jx/synch/nonblocking2/QueueEmptyException.java: -------------------------------------------------------------------------------- 1 | package jx.synch.nonblocking2; 2 | 3 | class QueueEmptyException extends Exception { 4 | public QueueEmptyException() {} 5 | public QueueEmptyException(String msg) { super(msg); } 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/synch/nonblocking2/SPSCQueue.java: -------------------------------------------------------------------------------- 1 | package jx.synch.nonblocking2; 2 | 3 | import jx.zero.*; 4 | 5 | 6 | /** Single Producer, Single Consumer */ 7 | public class SPSCQueue implements Queue { 8 | class Node { 9 | Object value; 10 | Node next; 11 | } 12 | 13 | Node head; 14 | Node tail; 15 | 16 | public SPSCQueue() { 17 | Node node = new Node(); 18 | head = tail = node; 19 | } 20 | 21 | /* producer: add node to tail side of the queue */ 22 | public void enqueue(Object value) { 23 | Node node = new Node(); 24 | node.value = value; 25 | 26 | tail.next = node; 27 | tail = node; 28 | } 29 | 30 | 31 | /* consumer: remove node from head side of the queue */ 32 | public Object dequeue() throws QueueEmptyException { 33 | Object ret; 34 | Node t = head; 35 | if (t == tail) 36 | throw new QueueEmptyException(); 37 | ret = t.value; 38 | head = t.next; 39 | return ret; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/jx/timer/SleepManager.java: -------------------------------------------------------------------------------- 1 | package jx.timer; 2 | 3 | import jx.zero.Portal; 4 | 5 | public interface SleepManager extends Portal { 6 | /** 7 | sleep for some microseconds 8 | @param microseconds the amount of time to sleep (in microseconds) 9 | */ 10 | public void udelay(int microseconds); 11 | /** 12 | sleep for some milliseconds 13 | @param milliseconds the amount of time to sleep (in milliseconds) 14 | */ 15 | public void mdelay(int milliseconds); 16 | } 17 | -------------------------------------------------------------------------------- /src/jx/timer/Timer.java: -------------------------------------------------------------------------------- 1 | package jx.timer; 2 | 3 | public interface Timer { 4 | int getExpiresFromNow(); 5 | TimerManager getTimerManager(); 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/timer/TimerHandler.java: -------------------------------------------------------------------------------- 1 | package jx.timer; 2 | 3 | import jx.zero.*; 4 | 5 | public interface TimerHandler extends Portal { 6 | public void timer(Object arg); 7 | } 8 | -------------------------------------------------------------------------------- /src/jx/timer/TimerManager.java: -------------------------------------------------------------------------------- 1 | package jx.timer; 2 | 3 | import jx.zero.Portal; 4 | import jx.zero.CPUState; 5 | 6 | public interface TimerManager extends Portal { 7 | Timer addMillisTimer(int expiresFromNowInMillis, TimerHandler handler, Object argument); 8 | Timer addMillisIntervalTimer(int expiresFromNowInMillis, int intervalInMillis, TimerHandler handler, Object argument); 9 | Timer addTimer(int expiresFromNow, int interval, TimerHandler handler, Object argument); 10 | boolean deleteTimer(TimerHandler t); 11 | int getTimeInMillis(); 12 | int getTimeBaseInMicros(); 13 | int getCurrentTime(); 14 | int getCurrentTimePlusMillis(int milliSeconds); 15 | void unblockInMillis(CPUState thread, int timeFromNowInMillis); 16 | void unblockInMillisInterval(CPUState thread, int expiresFromNowInMillis, int intervalInMillis); 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/verifier/VerifierInterface.java: -------------------------------------------------------------------------------- 1 | package jx.verifier; 2 | 3 | import jx.verifier.bytecode.*; 4 | import jx.classfile.MethodSource; 5 | 6 | public interface VerifierInterface { 7 | public void runChecks() throws VerifyException; 8 | public void checkBC(ByteCode e); 9 | public Subroutines getSrs(); 10 | public String getClassName(); 11 | public MethodSource getMethod(); 12 | public void endChecks(); 13 | /**get User-defined parameter. 14 | *@return parameter, might also return null. 15 | */ 16 | public Object getParameter(); 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/verifier/bytecode/BCWideOp.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.bytecode; 2 | 3 | 4 | /** Wide Befehl und nachfolgender Befehl */ 5 | public class BCWideOp extends ByteCode { 6 | protected int opCode2; 7 | public int getOpCode2() { return opCode2;} 8 | 9 | public BCWideOp(int opCode, ByteIterator code) { 10 | super(opCode, code); 11 | opCode2 = code.getNext()&0xff; 12 | if (opCode2 == IINC) { 13 | byteArgs = new byte[4]; 14 | } 15 | else { 16 | byteArgs = new byte[2]; 17 | } 18 | for (int i = 0; i < byteArgs.length; i++) { 19 | byteArgs[i] = code.getNext(); 20 | } 21 | } 22 | public String getBCName() { 23 | return getBCName(opCode2) + "_WIDE"; 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /src/jx/verifier/bytecode/ByteIterator.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.bytecode; 2 | 3 | 4 | public class ByteIterator { 5 | public byte[] data; 6 | private int index; 7 | public ByteIterator(byte[] data) { 8 | this.data = data; 9 | index = 0; 10 | } 11 | public byte getNext(){ 12 | return data[index++]; 13 | } 14 | public void reset() { reset(0);} 15 | public void reset(int index) { 16 | this.index = index;} 17 | public boolean hasMore() { return (index < data.length);} 18 | public int getIndex() {return index - 1;} //index des zuletzt gelieferten Elements 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/jx/verifier/fla/FLAResult.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.fla; 2 | 3 | import jx.classfile.VerifyResult; 4 | 5 | 6 | public class FLAResult extends VerifyResult { 7 | boolean systemFinal; 8 | boolean leaf; 9 | 10 | public boolean isSystemFinal() {return systemFinal;} 11 | public boolean isLeaf() {return leaf;} 12 | public FLAResult() { 13 | super(FLA_RESULT); 14 | leaf = false; 15 | systemFinal = false; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/jx/verifier/npa/NPALocalVarsInterface.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.npa; 2 | 3 | import jx.verifier.VerifyException; 4 | 5 | 6 | public interface NPALocalVarsInterface { 7 | public void write(int index, NPAValue type, int bcAddr) throws VerifyException; 8 | public NPAValue NPAread(int index) throws VerifyException; 9 | //find all local Vars with same id as value (must be a valid id!) and change their 10 | //value to newVal. 11 | public void setValue(NPAValue value, int newVal); 12 | } 13 | -------------------------------------------------------------------------------- /src/jx/verifier/typecheck/TCLocalVarsInterface.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.typecheck; 2 | 3 | import jx.verifier.bytecode.*; 4 | import jx.verifier.VerifyException; 5 | import jx.verifier.JVMLocalVars; 6 | import jx.verifier.JVMLocalVarsElement; 7 | import jx.verifier.JVMSRLocalVars; 8 | import java.util.Vector; 9 | 10 | 11 | 12 | public interface TCLocalVarsInterface { 13 | public void write(int index, TCTypes type, int bcAddr) throws VerifyException; 14 | public TCTypes read(int index, TCTypes type) throws VerifyException; 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/jx/verifier/typecheck/TCRAType.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.typecheck; 2 | 3 | import jx.verifier.bytecode.*; 4 | import jx.verifier.VerifyException; 5 | import java.util.Vector; 6 | 7 | //Type for return addresses 8 | public class TCRAType extends TCTypes { 9 | private int addressValue; 10 | public int getAddress() { return addressValue;} 11 | public TCRAType(int address) { 12 | super(RETURN_ADDR); 13 | addressValue = address; 14 | } 15 | public String toString() { 16 | return "RETURN_ADDRESS for Subroutine at " + Integer.toHexString(addressValue); 17 | } 18 | /* FOUND.consistentWith(EXPECTED) */ 19 | public void consistentWith(TCTypes other) throws VerifyException { 20 | if (other.getType() == ANY_REF || 21 | (other instanceof TCRAType) && 22 | (((TCRAType)other).getAddress() == addressValue) 23 | ) 24 | return; 25 | 26 | throw new VerifyException("Inconsistent Types: Expected " + other + 27 | " found " + this); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/BasicBlockList.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.verifier.bytecode.*; 4 | import java.util.Vector; 5 | import java.util.Enumeration; 6 | 7 | public class BasicBlockList { 8 | private Vector list = new Vector(); 9 | 10 | //get BB that starts at bytecode "start" 11 | public BasicBlock getBBlock(ByteCode start) { 12 | for (Enumeration e = list.elements(); e.hasMoreElements();) { 13 | BasicBlock act = (BasicBlock) e.nextElement(); 14 | if (act.getBegin() == start) return act; 15 | } 16 | return new BasicBlock(start); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/CFGParentList.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import java.util.Vector; 4 | import java.util.Enumeration; 5 | 6 | //holds a List of all Parent edges of an edge 7 | public class CFGParentList { 8 | private Vector list = new Vector(); 9 | public boolean addParentEdge(CFGEdge newEdge) { 10 | for (Enumeration e = list.elements(); e.hasMoreElements();) { 11 | if (e.nextElement() == newEdge) 12 | return false; 13 | } 14 | list.addElement(newEdge); 15 | return true; 16 | } 17 | public void markWithIf(int ifAddr) { 18 | for (Enumeration e = list.elements(); e.hasMoreElements();) { 19 | ((CFGEdge)e.nextElement()).markWithIf(ifAddr); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/ExecutionTime.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.verifier.bytecode.*; 4 | 5 | //class to record execution time of an method 6 | public interface ExecutionTime { 7 | //add the time of other to the time of this 8 | public void add(ExecutionTime other); 9 | //make this the maximum time of this and other 10 | public void max(ExecutionTime other); 11 | //add the time the Execution of bc takes to this. 12 | public void addTimeOfBC(ByteCode bc); 13 | //copy this 14 | public ExecutionTime copy(); 15 | //returns true if maxTime (in ms) is exceeded 16 | public boolean limitExceeded(); 17 | //set the timeLimit (in ms) 18 | public void setTimeLimit(int maxTime); 19 | //get the timeLimit (in ms); 20 | public int getTimeLimit(); 21 | //use up all remaining time at once 22 | public void useAllTime(); 23 | //returns the time (in ms) to the timeLimit. 24 | public int timeLeft(); 25 | } 26 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/RTTimeBound.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | /**Class to hold the executiontime limit for runtime checks. 4 | */ 5 | public class RTTimeBound { 6 | public int value; 7 | public int limit; 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/SimData.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.classfile.*; 4 | import jx.classfile.constantpool.*; 5 | import jx.classstore.ClassFinder; 6 | import jx.verifier.bytecode.*; 7 | import jx.verifier.*; 8 | 9 | //Class for Data words for partial evaluation 10 | public class SimData { 11 | public static final int TYPE_UNKNOWN = 0; 12 | public static final int TYPE_INT = 1; 13 | 14 | //type of this datum 15 | public int type; 16 | 17 | //address of the bytecode that generated this value 18 | public int bcAddr; 19 | 20 | // Constructor; should only be called directly for UNKNOWN types 21 | public SimData(int bcAddr) { 22 | this.bcAddr = bcAddr; 23 | this.type = TYPE_UNKNOWN; 24 | } 25 | 26 | public SimData copy() { 27 | SimData newData = new SimData(bcAddr); 28 | newData.type = type; 29 | return newData; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/SimInt.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | public class SimInt extends SimData { 4 | private int value; 5 | private boolean valueValid; 6 | 7 | //returns the value of this int 8 | public int getValue() { 9 | if (valueValid) 10 | return value; 11 | else { 12 | //FEHLER 13 | throw new Error("Value for stackword created @ " + Integer.toHexString(bcAddr) + 14 | " not found!"); 15 | } 16 | } 17 | public SimInt(int bcAddr, int value) { 18 | super(bcAddr); 19 | type = TYPE_INT; 20 | this.value = value; 21 | valueValid = true; 22 | } 23 | 24 | public SimInt(int bcAddr) { 25 | super(bcAddr); 26 | type = TYPE_INT; 27 | valueValid = false; 28 | } 29 | 30 | public SimData copy() { 31 | if (valueValid) { 32 | return new SimInt(bcAddr, value); 33 | } else { 34 | return new SimInt(bcAddr); 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/SimMarkList.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | //contains a list of ifs which caused the bytecode with the list to be marked. 4 | public class SimMarkList { 5 | int[] list = new int[0]; 6 | 7 | public boolean addElement(int newElm) { 8 | int[] newList = new int[list.length+1]; 9 | for (int i = 0; i < list.length; i++) { 10 | if (list[i] == newElm) 11 | return false; 12 | newList[i] = list[i]; 13 | } 14 | newList[newList.length-1] = newElm; 15 | list = newList; 16 | return true; 17 | } 18 | 19 | public boolean contains(int element) { 20 | for (int i = 0; i < list.length; i++) { 21 | if (list[i] == element) 22 | return true; 23 | } 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/TestClass.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | public class TestClass { 4 | public int testMethod(int k) { 5 | int res = 0; 6 | for (int i = 0; i < 100; i++) { 7 | res += t2(k); 8 | } 9 | return k; 10 | } 11 | 12 | public int t2(int k) { 13 | int ret = 1; 14 | for (int i = 0; i < k; i++) 15 | ret = ret * k; 16 | return ret; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/WCETResult.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.classfile.VerifyResult; 4 | import jx.classfile.MethodData; 5 | 6 | 7 | public class WCETResult extends VerifyResult { 8 | private ExecutionTime eTime = null; 9 | private MethodData rTCheckedMethod = null; 10 | public ExecutionTime getETime() {return eTime;} 11 | public WCETResult(ExecutionTime eTime) { 12 | super(WCET_RESULT); 13 | this.eTime = eTime; 14 | } 15 | public WCETResult(MethodData rTCheckedMethod) { 16 | super(WCET_RESULT); 17 | this.rTCheckedMethod = rTCheckedMethod; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/WCETSRLocalVars.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.verifier.bytecode.*; 4 | import jx.verifier.*; 5 | import java.util.Vector; 6 | 7 | 8 | /* Local Variables for verifying Subroutines (jsr ... ret) 9 | records every access to a local Variable in accessed array 10 | */ 11 | public class WCETSRLocalVars extends JVMSRLocalVars { 12 | 13 | public JVMSRLocalVars copySR() { 14 | return new WCETSRLocalVars(lVars, getAccessed()); 15 | } 16 | 17 | public WCETSRLocalVars(JVMLocalVars otherLV) { 18 | super(otherLV); 19 | } 20 | 21 | protected WCETSRLocalVars(JVMLocalVarsElement[] lVars, boolean[] accessed) { 22 | super(lVars, accessed); 23 | } 24 | 25 | protected void initVars(String className, 26 | String methodTypeDesc, 27 | boolean isStatic) throws VerifyException { 28 | //FEHLER -konstanten bercksichtigen? 29 | return; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/WCETStack.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | import jx.verifier.bytecode.*; 4 | import jx.verifier.*; 5 | import java.util.Vector; 6 | 7 | 8 | public class WCETStack extends JVMOPStack { 9 | 10 | public JVMOPStack copy() { 11 | return new WCETStack(this); 12 | } 13 | 14 | //maxSize gives the maximum size of the stack 15 | public WCETStack(int maxSize) { 16 | super(maxSize); 17 | } 18 | 19 | //constructor for copy 20 | public WCETStack(JVMOPStack copyStack) { 21 | super(copyStack); 22 | } 23 | 24 | public void push() throws VerifyException { 25 | super.push(new WCETStackElement(null)); 26 | } 27 | 28 | public void push(int bcAddr) throws VerifyException { 29 | super.push(new WCETStackElement(null, bcAddr)); 30 | } 31 | 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/jx/verifier/wcet/WCETimeExceededException.java: -------------------------------------------------------------------------------- 1 | package jx.verifier.wcet; 2 | 3 | public class WCETimeExceededException extends Exception { 4 | private ExecutionTime eTime; 5 | public ExecutionTime getETime() {return eTime;} 6 | public WCETimeExceededException(ExecutionTime eTime) { 7 | this.eTime = eTime; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/jx/xdr/XDRBuffer.java: -------------------------------------------------------------------------------- 1 | package jx.xdr; 2 | 3 | public interface XDRBuffer { 4 | void setByte(int index, byte value); 5 | byte getByte(int index); 6 | void getBytes(byte[] buf, int index, int len); 7 | void advance(int offset); 8 | } 9 | -------------------------------------------------------------------------------- /src/jx/zero/ByteCodeTranslater.java: -------------------------------------------------------------------------------- 1 | package jx.zero; 2 | 3 | public interface ByteCodeTranslater extends Portal { 4 | public void translate(String zipname, String libname) throws Exception; 5 | //public void translate(String zip, String lib, String info) throws Exception; 6 | } 7 | -------------------------------------------------------------------------------- /src/jx/zero/DomainTerminatedException.java: -------------------------------------------------------------------------------- 1 | package jx.zero; 2 | 3 | public class DomainTerminatedException extends java.lang.RuntimeException { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/zero/LookupHelper.java: -------------------------------------------------------------------------------- 1 | package jx.zero; 2 | 3 | public class LookupHelper { 4 | private static final CPUManager cpuManager; 5 | public static boolean verbose = true; 6 | 7 | static { 8 | cpuManager = (CPUManager) InitialNaming.getInitialNaming().lookup("CPUManager"); 9 | } 10 | 11 | public static Portal NEWwaitUntilPortalAvailable(Naming naming, String name) { 12 | return naming.lookupOrWait(name); 13 | } 14 | 15 | public static Portal waitUntilPortalAvailable(Naming naming, String name) { 16 | Portal p = null; 17 | if (verbose) Debug.out.println("Lookup " + name); 18 | for(;;) { 19 | p = jx.InitialNaming.lookup(name); 20 | if (p != null) break; 21 | for(int i = 0; i < 20; i++) cpuManager.yield(); 22 | } 23 | if (verbose) Debug.out.println(" --> " + name); 24 | return p; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/jx/zero/MemoryExhaustedException.java: -------------------------------------------------------------------------------- 1 | package jx.zero; 2 | 3 | public class MemoryExhaustedException extends java.lang.RuntimeException { 4 | } 5 | -------------------------------------------------------------------------------- /src/jx/zero/debug/DebugInputStream.java: -------------------------------------------------------------------------------- 1 | package jx.zero.debug; 2 | 3 | import java.io.InputStream; 4 | import java.io.IOException; 5 | 6 | 7 | public class DebugInputStream extends InputStream { 8 | DebugChannel channel; 9 | 10 | public DebugInputStream(DebugChannel c) { 11 | this.channel = c; 12 | } 13 | 14 | @Override 15 | public int read() throws IOException { 16 | return channel.read(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/jx/zero/debug/DebugOutputStream.java: -------------------------------------------------------------------------------- 1 | package jx.zero.debug; 2 | 3 | import java.io.OutputStream; 4 | import java.io.IOException; 5 | 6 | public class DebugOutputStream extends OutputStream { 7 | DebugChannel debugChannel; 8 | 9 | public DebugOutputStream(DebugChannel debugChannel) { 10 | this.debugChannel = debugChannel; 11 | /*debugChannel.write('X');*/ 12 | } 13 | 14 | @Override 15 | public void write(int b) throws IOException { 16 | debugChannel.write(b); 17 | } 18 | /** 19 | * atomically write this buffer 20 | */ 21 | @Override 22 | public void write(byte[] b, int off, int len) throws IOException { 23 | debugChannel.writeBuf(b,off,len); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/jx/zero/env/ConditionalVariables.java: -------------------------------------------------------------------------------- 1 | package jx.zero.env; 2 | 3 | public class ConditionalVariables { 4 | static final public void impl_wait(Object obj) { 5 | throw new Error("wait not implemented"); 6 | } 7 | static final public void impl_notify(Object obj) { 8 | throw new Error("notify not implemented"); 9 | } 10 | static final public void impl_notifyAll(Object obj) { 11 | throw new Error("notifyAll not implemented"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/jx/zero/env/Monitor.java: -------------------------------------------------------------------------------- 1 | package jx.zero.env; 2 | 3 | public class Monitor { 4 | static final public void enter(Object obj) { 5 | throw new Error("monitorenter called"); 6 | } 7 | static final public void exit(Object obj) { 8 | throw new Error("monitorexit called"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/jx/zero/memory/MemoryOutputStream.java: -------------------------------------------------------------------------------- 1 | package jx.zero.memory; 2 | 3 | import java.io.OutputStream; 4 | import java.io.IOException; 5 | import jx.zero.Memory; 6 | 7 | public class MemoryOutputStream extends OutputStream { 8 | private Memory buf; 9 | private int pos; 10 | private int size; 11 | 12 | public MemoryOutputStream(Memory buf) { 13 | this.buf = buf; 14 | size = buf.size(); 15 | } 16 | 17 | public void write(int b) throws IOException { 18 | if (pos == size) throw new IOException("Memory overflow"); 19 | buf.set8(pos++, (byte)b); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /src/jx/zip/ZipEntry.java: -------------------------------------------------------------------------------- 1 | package jx.zip; 2 | 3 | import jx.zero.ReadOnlyMemory; 4 | 5 | public class ZipEntry { 6 | String filename; 7 | int uncompressed_size; 8 | int compression_method; 9 | ReadOnlyMemory data; 10 | boolean isDirectory; 11 | 12 | public boolean isDirectory() { 13 | return isDirectory; 14 | } 15 | public String getName() { 16 | return filename; 17 | } 18 | public int getSize() { 19 | return uncompressed_size; 20 | } 21 | public ReadOnlyMemory getData() { 22 | return data; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/BitNotExistingException.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * exception that is thrown by methods that set bits, manipulate bits or check 5 | * for set bits - thrown if the index is bigger than the number of bits the 6 | * corresponding datatype has 7 | */ 8 | class BitNotExistingException extends Exception { 9 | public BitNotExistingException() { 10 | super(); 11 | } 12 | public BitNotExistingException(String arg) { 13 | super(arg); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/ComInit.java.MOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sPyOpenSource/os/97748d2d1854f3f3edb2da8eda5322a3d6d74e7f/src/metaxa/os/devices/net/ComInit.java.MOS -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/CompatabilityWord.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class CompatabilityWord { 4 | private final byte warninglevel; 5 | private final byte failurelevel; 6 | 7 | public CompatabilityWord(byte warning, byte failure) { 8 | warninglevel = warning; 9 | failurelevel = failure; 10 | } 11 | 12 | public byte get_warninglevel() { 13 | return warninglevel; 14 | } 15 | public byte get_failurelevel() { 16 | return failurelevel; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/D3C905Exception.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown by the main class D3C905 - the main driver class if some fatal error occures 5 | */ 6 | class D3C905Exception extends Exception { 7 | 8 | public D3C905Exception() { 9 | super(); 10 | } 11 | public D3C905Exception(String arg) { 12 | super(arg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/LinkSpeedException.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in D3C905 if a error in determining the link speed occures 5 | */ 6 | public class LinkSpeedException extends Exception { 7 | public LinkSpeedException() { 8 | super(); 9 | } 10 | public LinkSpeedException(String arg) { 11 | super(arg); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/MIIMediaOverrideException.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in Mii class if errors occures by MediaOverrides via MII 5 | */ 6 | class MIIMediaOverrideException extends Exception { 7 | public MIIMediaOverrideException() { 8 | super(); 9 | } 10 | public MIIMediaOverrideException(String arg) { 11 | super(arg); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/MultiCast.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class MultiCast { 4 | private short flags; 5 | private byte[] addr; 6 | 7 | public MultiCast(short f, byte[] a) { 8 | flags = f; 9 | for (int i=0; i<6; i++) 10 | addr[i] = a[i]; 11 | } 12 | 13 | public short flags() { 14 | return flags; 15 | } 16 | public byte addr(int i) { 17 | return addr[i]; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/NicPciInformation.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | import jx.devices.pci.PCIDevice; 4 | 5 | class NicPciInformation { 6 | private int InterruptVector; 7 | private int IoBaseAddress; 8 | PCIDevice dev; 9 | 10 | public NicPciInformation(PCIDevice dev) {this.dev = dev;} 11 | 12 | /* 13 | public NicPciInformation(int interrupt, int iobase) { 14 | InterruptVector = interrupt; 15 | IoBaseAddress = iobase; 16 | } 17 | */ 18 | 19 | public int get_Interrupt() { 20 | return dev.getInterruptLine(); 21 | } 22 | 23 | public int get_IoBaseAddress() { 24 | return dev.getBaseAddress(0); 25 | } 26 | 27 | /* 28 | public void set_Interrupt(int i) { 29 | InterruptVector = i; 30 | } 31 | public void set_IoBaseAddress(int i) { 32 | IoBaseAddress = i; 33 | } 34 | */ 35 | } 36 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/NicStatusFailure.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in D3C905 (main driver class) at several places 5 | * if some kind of initialisation method fails this exception is thrown 6 | */ 7 | class NicStatusFailure extends Exception { 8 | 9 | public NicStatusFailure() { 10 | super(); 11 | } 12 | NicStatusFailure(String msg) { 13 | super(msg); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/NicTimerArg.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class NicTimerArg { 4 | private D3C905 Handle; 5 | private NicInformation Adapter; 6 | 7 | public NicTimerArg(D3C905 handle, NicInformation adapter) { 8 | Handle = handle; 9 | Adapter = adapter; 10 | } 11 | 12 | public D3C905 get_Handle() { 13 | return Handle; 14 | } 15 | public NicInformation get_NicInfo() { 16 | return Adapter; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/ReadMIIException.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in Mii class if read access to Mii-Registers fails 5 | */ 6 | class ReadMIIException extends Exception { 7 | public ReadMIIException() { 8 | super(); 9 | } 10 | public ReadMIIException(String arg) { 11 | super(arg); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/RomInformation.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class RomInformation { 4 | 5 | private short Reserved; 6 | // Bit 22 7 | private byte RomPresent; 8 | 9 | // Mgliche Werte fr RomSize 10 | // 0x00 - 64k * 8. 11 | // 0x01 - 128k * 8. 12 | // 0x1x - Reserved. 13 | // 14 | 15 | // Bit [13:12] 16 | private byte RomSize; 17 | 18 | RomInformation(byte rompresent, byte romsize) { 19 | set_RomPresent(rompresent); 20 | set_RomSize(romsize); 21 | } 22 | 23 | public void set_RomPresent(byte rompresent) { 24 | RomPresent = rompresent; 25 | } 26 | 27 | public void set_RomSize(byte romsize) { 28 | RomSize = romsize; 29 | } 30 | 31 | public byte get_RomPresent() { 32 | return RomPresent; 33 | } 34 | 35 | public byte get_RomSize() { 36 | return RomSize; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/Softlimits.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class Softlimits { 4 | 5 | final static int NIC_STATUS_SUCCESS = 0x1; 6 | final static int NIC_STATUS_FAILURE = 0x2; 7 | 8 | // 9 | // Software limits defined here 10 | // 11 | 12 | final static int NIC_DEFAULT_SEND_COUNT = 0x40; 13 | final static int NIC_DEFAULT_RECEIVE_COUNT = 0x40; 14 | final static int NIC_MINIMUM_SEND_COUNT = 0x2; 15 | final static int NIC_MAXIMUM_SEND_COUNT = 0x80; 16 | final static int NIC_MINIMUM_RECEIVE_COUNT = 0x2; 17 | final static int NIC_MAXIMUM_RECEIVE_COUNT = 0x80; 18 | 19 | final static int LINK_SPEED_100 = 100000000; 20 | final static int LINK_SPEED_10 = 10000000; 21 | 22 | final static int ETH_ADDR_SIZE = 6; 23 | final static int ETH_MULTICAST_BIT = 1; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/SoftwareInformation3.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class SoftwareInformation3 { 4 | 5 | final static int EEPROM_GENERIC_MII = 0x00; 6 | final static int EEPROM_100BASE_T4_MII = 0x01; 7 | final static int EEPROM_10BASE_T_MII = 0x02; 8 | final static int EEPROM_100BASE_TX_MII = 0x03; 9 | final static int EEPROM_10_BASE_T_AUTONEGOTIATION = 0x04; 10 | final static int EEPROM_100_BASE_TX_AUTONEGOTIATION = 0x04; 11 | 12 | private byte ForceXcvr; 13 | private short Reserved; 14 | 15 | SoftwareInformation3(byte forcexcvr) { 16 | set_ForceXcvr(forcexcvr); 17 | } 18 | 19 | public void set_ForceXcvr(byte forcexcvr) { 20 | ForceXcvr = forcexcvr; 21 | } 22 | 23 | public byte get_ForceXcvr() { 24 | return ForceXcvr; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/UndefinedConnectorException.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown if set method of ConnectorType get a wrong connector type - should not happen 5 | * if method is used the intended way 6 | */ 7 | class UndefinedConnectorException extends Exception { 8 | public UndefinedConnectorException() { 9 | super(); 10 | } 11 | public UndefinedConnectorException(String arg) { 12 | super(arg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/UnknownConnectorType.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in NicHardwareInformation class if set method used with wrong argument 5 | * should not happen if method is used the intended way 6 | */ 7 | class UnknownConnectorType extends Exception { 8 | public UnknownConnectorType() { 9 | super(); 10 | } 11 | public UnknownConnectorType(String arg) { 12 | super(arg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/UnknownLinkState.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in NicHardwareInformation if set method is used with wrong argument 5 | * should not happen if method is used the intended way 6 | */ 7 | class UnknownLinkState extends Exception { 8 | public UnknownLinkState() { 9 | super(); 10 | } 11 | public UnknownLinkState(String arg) { 12 | super(arg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/WaitCases.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | 4 | class WaitCases { 5 | 6 | // WaitCases 7 | static final int CHECK_UPLOAD_STATUS = 0; 8 | static final int CHECK_DOWNLOAD_STATUS = 1; 9 | static final int CHECK_DC_CONVERTER = 2; 10 | static final int CHECK_PHY_STATUS = 3; 11 | static final int CHECK_TRANSMIT_IN_PROGRESS = 4; 12 | static final int CHECK_DOWNLOAD_SELFDIRECTED = 5; 13 | static final int AUTONEG_TEST_PACKET = 6; 14 | static final int CHECK_DMA_CONTROL = 7; 15 | static final int CHECK_CARRIER_SENSE = 8; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/WaitTimerArg.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | class WaitTimerArg { 4 | 5 | private NicInformation Info; 6 | private DpdListEntry TestDPD; 7 | private int TimeOut; 8 | 9 | public WaitTimerArg(NicInformation info, DpdListEntry test, int timeout) { 10 | Info = info; 11 | TestDPD = test; 12 | TimeOut = timeout; 13 | } 14 | 15 | public NicInformation get_NicInfo() { 16 | return Info; 17 | } 18 | public DpdListEntry get_TestDPD() { 19 | return TestDPD; 20 | } 21 | public int get_TimeOut() { 22 | return TimeOut; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/WrongDate.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown in ManufacturingData if set method is used with wrong argument 5 | * should not happen if method is used as intended 6 | */ 7 | class WrongDate extends Exception { 8 | public WrongDate() { 9 | super(); 10 | } 11 | public WrongDate(String arg) { 12 | super(arg); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/metaxa/os/devices/net/WrongEthernetAdressFormat.java: -------------------------------------------------------------------------------- 1 | package metaxa.os.devices.net; 2 | 3 | /** 4 | * thrown by the constructor of EthernetAddress if wrong initialising argument is passed 5 | */ 6 | public class WrongEthernetAdressFormat extends Exception { 7 | public WrongEthernetAdressFormat() { 8 | super(); 9 | } 10 | public WrongEthernetAdressFormat(String arg) { 11 | super(arg); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/sun/security/provider/Sun.java: -------------------------------------------------------------------------------- 1 | package sun.security.provider; 2 | 3 | public class Sun { 4 | public void Sun() { throw new Error("NOT IMPLEMENTED"); } 5 | } 6 | -------------------------------------------------------------------------------- /src/sun/tools/javac/Main.java: -------------------------------------------------------------------------------- 1 | package sun.tools.javac; 2 | 3 | public class Main { 4 | public void Main(java.io.OutputStream arg0, java.lang.String arg1) { throw new Error("NOT IMPLEMENTED"); } 5 | public boolean compile(java.lang.String[] arg0) { throw new Error("NOT IMPLEMENTED"); } 6 | } 7 | -------------------------------------------------------------------------------- /src/timerpc/StartTimer.java: -------------------------------------------------------------------------------- 1 | package timerpc; 2 | 3 | import jx.timer.TimerManager; 4 | 5 | public class StartTimer { 6 | public static void main(String[] args) throws Exception { 7 | final TimerManager timerManager = new TimerManagerImpl(); 8 | jx.InitialNaming.registerPortal(timerManager, args[0]); 9 | } 10 | } 11 | --------------------------------------------------------------------------------