FOREIGN MODULE android_os;

IMPORT
    java_lang := "java.lang",
    java_util_concurrent := "java.util.concurrent",
    android_util := "android.util",
    java_io := "java.io",
    java_util := "java.util",
    java_nio_channels := "java.nio.channels",
    java_net := "java.net";

TYPE

  AsyncTask* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : AsyncTask,CONSTRUCTOR;
               END;

  AsyncTask$Status* = POINTER TO RECORD (java_lang.Enum)
                      STATIC
                        FINISHED* : AsyncTask$Status;
                        PENDING*  : AsyncTask$Status;
                        RUNNING*  : AsyncTask$Status;
                        PROCEDURE valueOf*(p0 : java_lang.String) : AsyncTask$Status;
                        PROCEDURE values*() : POINTER TO ARRAY OF AsyncTask$Status;
                      END;

  BadParcelableException* = POINTER TO EXTENSIBLE RECORD (android_util.AndroidRuntimeException)
                            STATIC
                              PROCEDURE Init*(p0 : java_lang.Exception) : BadParcelableException,CONSTRUCTOR;
                              PROCEDURE Init*(p0 : java_lang.String) : BadParcelableException,CONSTRUCTOR;
                            END;

  BatteryManager* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                    STATIC
                      BATTERY_HEALTH_DEAD*                = 4;
                      BATTERY_HEALTH_GOOD*                = 2;
                      BATTERY_HEALTH_OVERHEAT*            = 3;
                      BATTERY_HEALTH_OVER_VOLTAGE*        = 5;
                      BATTERY_HEALTH_UNKNOWN*             = 1;
                      BATTERY_HEALTH_UNSPECIFIED_FAILURE* = 6;
                      BATTERY_PLUGGED_AC*                 = 1;
                      BATTERY_PLUGGED_USB*                = 2;
                      BATTERY_STATUS_CHARGING*            = 2;
                      BATTERY_STATUS_DISCHARGING*         = 3;
                      BATTERY_STATUS_FULL*                = 5;
                      BATTERY_STATUS_NOT_CHARGING*        = 4;
                      BATTERY_STATUS_UNKNOWN*             = 1;
                      EXTRA_HEALTH*                       = "health";
                      EXTRA_ICON_SMALL*                   = "icon-small";
                      EXTRA_LEVEL*                        = "level";
                      EXTRA_PLUGGED*                      = "plugged";
                      EXTRA_PRESENT*                      = "present";
                      EXTRA_SCALE*                        = "scale";
                      EXTRA_STATUS*                       = "status";
                      EXTRA_TECHNOLOGY*                   = "technology";
                      EXTRA_TEMPERATURE*                  = "temperature";
                      EXTRA_VOLTAGE*                      = "voltage";
                      PROCEDURE Init*() : BatteryManager,CONSTRUCTOR;
                    END;

  Binder* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + IBinder)    (* Typebound Procedures *)
            STATIC
              PROCEDURE clearCallingIdentity*() : LONGINT;
              PROCEDURE flushPendingCommands*();
              PROCEDURE getCallingPid*() : INTEGER;
              PROCEDURE getCallingUid*() : INTEGER;
              PROCEDURE Init*() : Binder,CONSTRUCTOR;
              PROCEDURE joinThreadPool*();
              PROCEDURE restoreCallingIdentity*(p0 : LONGINT);
            END;

  Build* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
           STATIC
             BOARD*        : java_lang.String;
             BRAND*        : java_lang.String;
             CPU_ABI*      : java_lang.String;
             DEVICE*       : java_lang.String;
             DISPLAY*      : java_lang.String;
             FINGERPRINT*  : java_lang.String;
             HOST*         : java_lang.String;
             ID*           : java_lang.String;
             MANUFACTURER* : java_lang.String;
             MODEL*        : java_lang.String;
             PRODUCT*      : java_lang.String;
             TAGS*         : java_lang.String;
             TIME*         : LONGINT;
             TYPE*         : java_lang.String;
             USER*         : java_lang.String;
             PROCEDURE Init*() : Build,CONSTRUCTOR;
           END;

  Build$VERSION* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                   STATIC
                     CODENAME*    : java_lang.String;
                     INCREMENTAL* : java_lang.String;
                     RELEASE*     : java_lang.String;
                     SDK*         : java_lang.String;
                     SDK_INT*     : INTEGER;
                     PROCEDURE Init*() : Build$VERSION,CONSTRUCTOR;
                   END;

  Build$VERSION_CODES* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                         STATIC
                           BASE*            = 1;
                           BASE_1_1*        = 2;
                           CUPCAKE*         = 3;
                           CUR_DEVELOPMENT* = 10000;
                           DONUT*           = 4;
                           ECLAIR*          = 5;
                           ECLAIR_0_1*      = 6;
                           ECLAIR_MR1*      = 7;
                           PROCEDURE Init*() : Build$VERSION_CODES,CONSTRUCTOR;
                         END;

  Bundle* = POINTER TO RECORD (java_lang.Object + Parcelable + java_lang.Cloneable)    (* Typebound Procedures *)
            STATIC
              CREATOR* : Parcelable$Creator;
              EMPTY*   : Bundle;
              PROCEDURE Init*(p0 : INTEGER) : Bundle,CONSTRUCTOR;
              PROCEDURE Init*(p0 : Bundle) : Bundle,CONSTRUCTOR;
              PROCEDURE Init*() : Bundle,CONSTRUCTOR;
              PROCEDURE Init*(p0 : java_lang.ClassLoader) : Bundle,CONSTRUCTOR;
            END;

  ConditionVariable* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*(p0 : BOOLEAN) : ConditionVariable,CONSTRUCTOR;
                         PROCEDURE Init*() : ConditionVariable,CONSTRUCTOR;
                       END;

  CountDownTimer* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init*(p0 : LONGINT;
                                      p1 : LONGINT) : CountDownTimer,CONSTRUCTOR;
                    END;

  DeadObjectException* = POINTER TO EXTENSIBLE RECORD (RemoteException)
                         STATIC
                           PROCEDURE Init*() : DeadObjectException,CONSTRUCTOR;
                         END;

  Debug* = POINTER TO RECORD (java_lang.Object)
           STATIC
             SHOW_CLASSLOADER*              = 2;
             SHOW_FULL_DETAIL*              = 1;
             SHOW_INITIALIZED*              = 4;
             TRACE_COUNT_ALLOCS*            = 1;
             PROCEDURE changeDebugPort*(p0 : INTEGER);
             PROCEDURE dumpHprofData*(p0 : java_lang.String);
             PROCEDURE enableEmulatorTraceOutput*();
             PROCEDURE getBinderDeathObjectCount*() : INTEGER;
             PROCEDURE getBinderLocalObjectCount*() : INTEGER;
             PROCEDURE getBinderProxyObjectCount*() : INTEGER;
             PROCEDURE getBinderReceivedTransactions*() : INTEGER;
             PROCEDURE getBinderSentTransactions*() : INTEGER;
             PROCEDURE getGlobalAllocCount*() : INTEGER;
             PROCEDURE getGlobalAllocSize*() : INTEGER;
             PROCEDURE getGlobalExternalAllocCount*() : INTEGER;
             PROCEDURE getGlobalExternalAllocSize*() : INTEGER;
             PROCEDURE getGlobalExternalFreedCount*() : INTEGER;
             PROCEDURE getGlobalExternalFreedSize*() : INTEGER;
             PROCEDURE getGlobalFreedCount*() : INTEGER;
             PROCEDURE getGlobalFreedSize*() : INTEGER;
             PROCEDURE getGlobalGcInvocationCount*() : INTEGER;
             PROCEDURE getLoadedClassCount*() : INTEGER;
             PROCEDURE getMemoryInfo*(p0 : Debug$MemoryInfo);
             PROCEDURE getNativeHeapAllocatedSize*() : LONGINT;
             PROCEDURE getNativeHeapFreeSize*() : LONGINT;
             PROCEDURE getNativeHeapSize*() : LONGINT;
             PROCEDURE getThreadAllocCount*() : INTEGER;
             PROCEDURE getThreadAllocSize*() : INTEGER;
             PROCEDURE getThreadExternalAllocCount*() : INTEGER;
             PROCEDURE getThreadExternalAllocSize*() : INTEGER;
             PROCEDURE getThreadGcInvocationCount*() : INTEGER;
             PROCEDURE isDebuggerConnected*() : BOOLEAN;
             PROCEDURE printLoadedClasses*(p0 : INTEGER);
             PROCEDURE resetAllCounts*();
             PROCEDURE resetGlobalAllocCount*();
             PROCEDURE resetGlobalAllocSize*();
             PROCEDURE resetGlobalExternalAllocCount*();
             PROCEDURE resetGlobalExternalAllocSize*();
             PROCEDURE resetGlobalExternalFreedCount*();
             PROCEDURE resetGlobalExternalFreedSize*();
             PROCEDURE resetGlobalFreedCount*();
             PROCEDURE resetGlobalFreedSize*();
             PROCEDURE resetGlobalGcInvocationCount*();
             PROCEDURE resetThreadAllocCount*();
             PROCEDURE resetThreadAllocSize*();
             PROCEDURE resetThreadExternalAllocCount*();
             PROCEDURE resetThreadExternalAllocSize*();
             PROCEDURE resetThreadGcInvocationCount*();
             PROCEDURE setAllocationLimit*(p0 : INTEGER) : INTEGER;
             PROCEDURE setGlobalAllocationLimit*(p0 : INTEGER) : INTEGER;
             PROCEDURE startAllocCounting*();
             PROCEDURE startMethodTracing*(p0 : java_lang.String);
             PROCEDURE startMethodTracing*();
             PROCEDURE startMethodTracing*(p0 : java_lang.String;
                                           p1 : INTEGER;
                                           p2 : INTEGER);
             PROCEDURE startMethodTracing*(p0 : java_lang.String;
                                           p1 : INTEGER);
             PROCEDURE startNativeTracing*();
             PROCEDURE stopAllocCounting*();
             PROCEDURE stopMethodTracing*();
             PROCEDURE stopNativeTracing*();
             PROCEDURE threadCpuTimeNanos*() : LONGINT;
             PROCEDURE waitForDebugger*();
             PROCEDURE waitingForDebugger*() : BOOLEAN;
           END;

  Debug$InstructionCount* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                            STATIC
                              PROCEDURE Init*() : Debug$InstructionCount,CONSTRUCTOR;
                            END;

  Debug$MemoryInfo* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
                        dalvikPss*          : INTEGER;
                        dalvikPrivateDirty* : INTEGER;
                        dalvikSharedDirty*  : INTEGER;
                        nativePss*          : INTEGER;
                        nativePrivateDirty* : INTEGER;
                        nativeSharedDirty*  : INTEGER;
                        otherPss*           : INTEGER;
                        otherPrivateDirty*  : INTEGER;
                        otherSharedDirty*   : INTEGER;
                      STATIC
                        CREATOR* : Parcelable$Creator;
                        PROCEDURE Init*() : Debug$MemoryInfo,CONSTRUCTOR;
                      END;

  Environment* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 STATIC
                   MEDIA_BAD_REMOVAL*           = "bad_removal";
                   MEDIA_CHECKING*              = "checking";
                   MEDIA_MOUNTED*               = "mounted";
                   MEDIA_MOUNTED_READ_ONLY*     = "mounted_ro";
                   MEDIA_NOFS*                  = "nofs";
                   MEDIA_REMOVED*               = "removed";
                   MEDIA_SHARED*                = "shared";
                   MEDIA_UNMOUNTABLE*           = "unmountable";
                   MEDIA_UNMOUNTED*             = "unmounted";
                   PROCEDURE getDataDirectory*() : java_io.File;
                   PROCEDURE getDownloadCacheDirectory*() : java_io.File;
                   PROCEDURE getExternalStorageDirectory*() : java_io.File;
                   PROCEDURE getExternalStorageState*() : java_lang.String;
                   PROCEDURE getRootDirectory*() : java_io.File;
                   PROCEDURE Init*() : Environment,CONSTRUCTOR;
                 END;

  FileObserver* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    ACCESS*        = 1;
                    ALL_EVENTS*    = 4095;
                    ATTRIB*        = 4;
                    CLOSE_NOWRITE* = 16;
                    CLOSE_WRITE*   = 8;
                    CREATE*        = 256;
                    DELETE*        = 512;
                    DELETE_SELF*   = 1024;
                    MODIFY*        = 2;
                    MOVED_FROM*    = 64;
                    MOVED_TO*      = 128;
                    MOVE_SELF*     = 2048;
                    OPEN*          = 32;
                    PROCEDURE Init*(p0 : java_lang.String;
                                    p1 : INTEGER) : FileObserver,CONSTRUCTOR;
                    PROCEDURE Init*(p0 : java_lang.String) : FileObserver,CONSTRUCTOR;
                  END;

  Handler* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
             STATIC
               PROCEDURE Init*(p0 : Looper) : Handler,CONSTRUCTOR;
               PROCEDURE Init*(p0 : Looper;
                               p1 : Handler$Callback) : Handler,CONSTRUCTOR;
               PROCEDURE Init*() : Handler,CONSTRUCTOR;
               PROCEDURE Init*(p0 : Handler$Callback) : Handler,CONSTRUCTOR;
             END;

  Handler$Callback* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                      END;

  HandlerThread* = POINTER TO EXTENSIBLE RECORD (java_lang.Thread)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : java_lang.String;
                                     p1 : INTEGER) : HandlerThread,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.String) : HandlerThread,CONSTRUCTOR;
                   END;

  IBinder* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
             STATIC
               DUMP_TRANSACTION*       = 1598311760;
               FIRST_CALL_TRANSACTION* = 1;
               FLAG_ONEWAY*            = 1;
               INTERFACE_TRANSACTION*  = 1598968902;
               LAST_CALL_TRANSACTION*  = 16777215;
               PING_TRANSACTION*       = 1599098439;
             END;

  IBinder$DeathRecipient* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                            END;

  IInterface* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                END;

  Looper* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              PROCEDURE getMainLooper*() : Looper;
              PROCEDURE loop*();
              PROCEDURE myLooper*() : Looper;
              PROCEDURE myQueue*() : MessageQueue;
              PROCEDURE prepare*();
              PROCEDURE prepareMainLooper*();
            END;

  MemoryFile* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  PROCEDURE Init*(p0 : java_lang.String;
                                  p1 : INTEGER) : MemoryFile,CONSTRUCTOR;
                END;

  Message* = POINTER TO RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
               what*    : INTEGER;
               arg1*    : INTEGER;
               arg2*    : INTEGER;
               obj*     : java_lang.Object;
               replyTo* : Messenger;
             STATIC
               CREATOR* : Parcelable$Creator;
               PROCEDURE Init*() : Message,CONSTRUCTOR;
               PROCEDURE obtain*(p0 : Handler;
                                 p1 : INTEGER;
                                 p2 : java_lang.Object) : Message;
               PROCEDURE obtain*(p0 : Handler;
                                 p1 : INTEGER) : Message;
               PROCEDURE obtain*(p0 : Handler;
                                 p1 : INTEGER;
                                 p2 : INTEGER;
                                 p3 : INTEGER;
                                 p4 : java_lang.Object) : Message;
               PROCEDURE obtain*(p0 : Handler;
                                 p1 : INTEGER;
                                 p2 : INTEGER;
                                 p3 : INTEGER) : Message;
               PROCEDURE obtain*(p0 : Message) : Message;
               PROCEDURE obtain*() : Message;
               PROCEDURE obtain*(p0 : Handler;
                                 p1 : java_lang.Runnable) : Message;
               PROCEDURE obtain*(p0 : Handler) : Message;
             END;

  MessageQueue* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  END;

  MessageQueue$IdleHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                              END;

  Messenger* = POINTER TO RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
               STATIC
                 CREATOR*                       : Parcelable$Creator;
                 PROCEDURE Init*(p0 : IBinder) : Messenger,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : Handler) : Messenger,CONSTRUCTOR;
                 PROCEDURE readMessengerOrNullFromParcel*(p0 : Parcel) : Messenger;
                 PROCEDURE writeMessengerOrNullToParcel*(p0 : Messenger;
                                                         p1 : Parcel);
               END;

  Parcel* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              STRING_CREATOR* : Parcelable$Creator;
              PROCEDURE obtain!(p0 : INTEGER) : Parcel;
              PROCEDURE obtain*() : Parcel;
            END;

  Parcelable* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  CONTENTS_FILE_DESCRIPTOR*      = 1;
                  PARCELABLE_WRITE_RETURN_VALUE* = 1;
                END;

  Parcelable$Creator* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                        END;

  ParcelFileDescriptor* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
                          STATIC
                            CREATOR*              : Parcelable$Creator;
                            MODE_APPEND*          = 33554432;
                            MODE_CREATE*          = 134217728;
                            MODE_READ_ONLY*       = 268435456;
                            MODE_READ_WRITE*      = 805306368;
                            MODE_TRUNCATE*        = 67108864;
                            MODE_WORLD_READABLE*  = 1;
                            MODE_WORLD_WRITEABLE* = 2;
                            MODE_WRITE_ONLY*      = 536870912;
                            PROCEDURE fromSocket*(p0 : java_net.Socket) : ParcelFileDescriptor;
                            PROCEDURE Init*(p0 : ParcelFileDescriptor) : ParcelFileDescriptor,CONSTRUCTOR;
                            PROCEDURE open*(p0 : java_io.File;
                                            p1 : INTEGER) : ParcelFileDescriptor;
                          END;

  ParcelFileDescriptor$AutoCloseInputStream* = POINTER TO EXTENSIBLE RECORD (java_io.FileInputStream)    (* Typebound Procedures *)
                                               STATIC
                                                 PROCEDURE Init*(p0 : ParcelFileDescriptor) : ParcelFileDescriptor$AutoCloseInputStream,CONSTRUCTOR;
                                               END;

  ParcelFileDescriptor$AutoCloseOutputStream* = POINTER TO EXTENSIBLE RECORD (java_io.FileOutputStream)    (* Typebound Procedures *)
                                                STATIC
                                                  PROCEDURE Init*(p0 : ParcelFileDescriptor) : ParcelFileDescriptor$AutoCloseOutputStream,CONSTRUCTOR;
                                                END;

  ParcelFormatException* = POINTER TO EXTENSIBLE RECORD (java_lang.RuntimeException)
                           STATIC
                             PROCEDURE Init*(p0 : java_lang.String) : ParcelFormatException,CONSTRUCTOR;
                             PROCEDURE Init*() : ParcelFormatException,CONSTRUCTOR;
                           END;

  ParcelUuid* = POINTER TO RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
                STATIC
                  CREATOR*    : Parcelable$Creator;
                  PROCEDURE fromString*(p0 : java_lang.String) : ParcelUuid;
                  PROCEDURE Init*(p0 : java_util.UUID) : ParcelUuid,CONSTRUCTOR;
                END;

  PatternMatcher* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
                    STATIC
                      CREATOR*             : Parcelable$Creator;
                      PATTERN_LITERAL*     = 0;
                      PATTERN_PREFIX*      = 1;
                      PATTERN_SIMPLE_GLOB* = 2;
                      PROCEDURE Init*(p0 : Parcel) : PatternMatcher,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.String;
                                      p1 : INTEGER) : PatternMatcher,CONSTRUCTOR;
                    END;

  PowerManager* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    ACQUIRE_CAUSES_WAKEUP*   = 268435456;
                    FULL_WAKE_LOCK*          = 26;
                    ON_AFTER_RELEASE*        = 536870912;
                    PARTIAL_WAKE_LOCK*       = 1;
                    SCREEN_BRIGHT_WAKE_LOCK* = 10;
                    SCREEN_DIM_WAKE_LOCK*    = 6;
                  END;

  PowerManager$WakeLock* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           END;

  Process* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
             STATIC
               BLUETOOTH_GID*                  = 2000;
               FIRST_APPLICATION_UID*          = 10000;
               LAST_APPLICATION_UID*           = 99999;
               PHONE_UID*                      = 1001;
               SIGNAL_KILL*                    = 9;
               SIGNAL_QUIT*                    = 3;
               SIGNAL_USR1*                    = 10;
               SYSTEM_UID*                     = 1000;
               THREAD_PRIORITY_AUDIO*          = -16;
               THREAD_PRIORITY_BACKGROUND*     = 10;
               THREAD_PRIORITY_DEFAULT*        = 0;
               THREAD_PRIORITY_DISPLAY*        = -4;
               THREAD_PRIORITY_FOREGROUND*     = -2;
               THREAD_PRIORITY_LESS_FAVORABLE* = 1;
               THREAD_PRIORITY_LOWEST*         = 19;
               THREAD_PRIORITY_MORE_FAVORABLE* = -1;
               THREAD_PRIORITY_URGENT_AUDIO*   = -19;
               THREAD_PRIORITY_URGENT_DISPLAY* = -8;
               PROCEDURE getElapsedCpuTime*() : LONGINT;
               PROCEDURE getGidForName*(p0 : java_lang.String) : INTEGER;
               PROCEDURE getThreadPriority*(p0 : INTEGER) : INTEGER;
               PROCEDURE getUidForName*(p0 : java_lang.String) : INTEGER;
               PROCEDURE Init*() : Process,CONSTRUCTOR;
               PROCEDURE killProcess*(p0 : INTEGER);
               PROCEDURE myPid*() : INTEGER;
               PROCEDURE myTid*() : INTEGER;
               PROCEDURE myUid*() : INTEGER;
               PROCEDURE sendSignal*(p0 : INTEGER;
                                     p1 : INTEGER);
               PROCEDURE setThreadPriority*(p0 : INTEGER;
                                            p1 : INTEGER);
               PROCEDURE setThreadPriority*(p0 : INTEGER);
               PROCEDURE supportsProcesses*() : BOOLEAN;
             END;

  RemoteCallbackList* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE Init*() : RemoteCallbackList,CONSTRUCTOR;
                        END;

  RemoteException* = POINTER TO EXTENSIBLE RECORD (android_util.AndroidException)
                     STATIC
                       PROCEDURE Init*() : RemoteException,CONSTRUCTOR;
                     END;

  ResultReceiver* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Parcelable)    (* Typebound Procedures *)
                    STATIC
                      CREATOR* : Parcelable$Creator;
                      PROCEDURE Init*(p0 : Handler) : ResultReceiver,CONSTRUCTOR;
                    END;

  StatFs* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              PROCEDURE Init*(p0 : java_lang.String) : StatFs,CONSTRUCTOR;
            END;

  SystemClock* = POINTER TO RECORD (java_lang.Object)
                 STATIC
                   PROCEDURE currentThreadTimeMillis*() : LONGINT;
                   PROCEDURE elapsedRealtime*() : LONGINT;
                   PROCEDURE setCurrentTimeMillis*(p0 : LONGINT) : BOOLEAN;
                   PROCEDURE sleep*(p0 : LONGINT);
                   PROCEDURE uptimeMillis*() : LONGINT;
                 END;

  TokenWatcher* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*(p0 : Handler;
                                    p1 : java_lang.String) : TokenWatcher,CONSTRUCTOR;
                  END;

  Vibrator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
              END;




PROCEDURE (self:AsyncTask) cancel*(p0 : BOOLEAN) : BOOLEAN,NEW;

PROCEDURE (self:AsyncTask) doInBackground!(IN  p0 : ARRAY OF java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:AsyncTask) execute*(IN  p0 : ARRAY OF java_lang.Object) : AsyncTask,NEW;

PROCEDURE (self:AsyncTask) get*() : java_lang.Object,NEW;

PROCEDURE (self:AsyncTask) get*(p0 : LONGINT;
                                p1 : java_util_concurrent.TimeUnit) : java_lang.Object,NEW;

PROCEDURE (self:AsyncTask) getStatus*() : AsyncTask$Status,NEW;

PROCEDURE (self:AsyncTask) isCancelled*() : BOOLEAN,NEW;

PROCEDURE (self:AsyncTask) onCancelled!(),NEW,EXTENSIBLE;

PROCEDURE (self:AsyncTask) onPostExecute!(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:AsyncTask) onPreExecute!(),NEW,EXTENSIBLE;

PROCEDURE (self:AsyncTask) onProgressUpdate!(IN  p0 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:AsyncTask) publishProgress!(IN  p0 : ARRAY OF java_lang.Object),NEW;

PROCEDURE (self:Binder) attachInterface*(p0 : IInterface;
                                         p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Binder) dump*(    p0 : java_io.FileDescriptor;
                              IN  p1 : ARRAY OF java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Binder) dump!(    p0 : java_io.FileDescriptor;
                                  p1 : java_io.PrintWriter;
                              IN  p2 : ARRAY OF java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Binder) finalize!(),EXTENSIBLE;

PROCEDURE (self:Binder) getInterfaceDescriptor*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Binder) isBinderAlive*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Binder) linkToDeath*(p0 : IBinder$DeathRecipient;
                                     p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Binder) onTransact!(p0 : INTEGER;
                                    p1 : Parcel;
                                    p2 : Parcel;
                                    p3 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Binder) pingBinder*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Binder) queryLocalInterface*(p0 : java_lang.String) : IInterface,NEW,EXTENSIBLE;

PROCEDURE (self:Binder) transact*(p0 : INTEGER;
                                  p1 : Parcel;
                                  p2 : Parcel;
                                  p3 : INTEGER) : BOOLEAN,NEW;

PROCEDURE (self:Binder) unlinkToDeath*(p0 : IBinder$DeathRecipient;
                                       p1 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) clear*(),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Bundle) containsKey*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) get*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getBoolean*(p0 : java_lang.String;
                                    p1 : BOOLEAN) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getBoolean*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getBooleanArray*(p0 : java_lang.String) : POINTER TO ARRAY OF BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getBundle*(p0 : java_lang.String) : Bundle,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getByte*(p0 : java_lang.String) : BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getByte*(p0 : java_lang.String;
                                 p1 : BYTE) : java_lang.Byte,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getByteArray*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getChar*(p0 : java_lang.String) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getChar*(p0 : java_lang.String;
                                 p1 : CHAR) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getCharArray*(p0 : java_lang.String) : POINTER TO ARRAY OF CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getCharSequence*(p0 : java_lang.String) : java_lang.CharSequence,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getDouble*(p0 : java_lang.String;
                                   p1 : REAL) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getDouble*(p0 : java_lang.String) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getDoubleArray*(p0 : java_lang.String) : POINTER TO ARRAY OF REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getFloat*(p0 : java_lang.String;
                                  p1 : SHORTREAL) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getFloat*(p0 : java_lang.String) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getFloatArray*(p0 : java_lang.String) : POINTER TO ARRAY OF SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getInt*(p0 : java_lang.String) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getInt*(p0 : java_lang.String;
                                p1 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getIntArray*(p0 : java_lang.String) : POINTER TO ARRAY OF INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getIntegerArrayList*(p0 : java_lang.String) : java_util.ArrayList,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getLong*(p0 : java_lang.String) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getLong*(p0 : java_lang.String;
                                 p1 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getLongArray*(p0 : java_lang.String) : POINTER TO ARRAY OF LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getParcelable*(p0 : java_lang.String) : Parcelable,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getParcelableArray*(p0 : java_lang.String) : POINTER TO ARRAY OF Parcelable,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getParcelableArrayList*(p0 : java_lang.String) : java_util.ArrayList,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getSerializable*(p0 : java_lang.String) : java_io.Serializable,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getShort*(p0 : java_lang.String) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getShort*(p0 : java_lang.String;
                                  p1 : SHORTINT) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getShortArray*(p0 : java_lang.String) : POINTER TO ARRAY OF SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getSparseParcelableArray*(p0 : java_lang.String) : android_util.SparseArray,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getString*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getStringArray*(p0 : java_lang.String) : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) getStringArrayList*(p0 : java_lang.String) : java_util.ArrayList,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) hasFileDescriptors*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) isEmpty*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) keySet*() : java_util.Set,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putAll*(p0 : Bundle),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putBoolean*(p0 : java_lang.String;
                                    p1 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putBooleanArray*(    p0 : java_lang.String;
                                         IN  p1 : ARRAY OF BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putBundle*(p0 : java_lang.String;
                                   p1 : Bundle),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putByte*(p0 : java_lang.String;
                                 p1 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putByteArray*(    p0 : java_lang.String;
                                      IN  p1 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putChar*(p0 : java_lang.String;
                                 p1 : CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putCharArray*(    p0 : java_lang.String;
                                      IN  p1 : ARRAY OF CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putCharSequence*(p0 : java_lang.String;
                                         p1 : java_lang.CharSequence),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putDouble*(p0 : java_lang.String;
                                   p1 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putDoubleArray*(    p0 : java_lang.String;
                                        IN  p1 : ARRAY OF REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putFloat*(p0 : java_lang.String;
                                  p1 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putFloatArray*(    p0 : java_lang.String;
                                       IN  p1 : ARRAY OF SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putInt*(p0 : java_lang.String;
                                p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putIntArray*(    p0 : java_lang.String;
                                     IN  p1 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putIntegerArrayList*(p0 : java_lang.String;
                                             p1 : java_util.ArrayList),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putLong*(p0 : java_lang.String;
                                 p1 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putLongArray*(    p0 : java_lang.String;
                                      IN  p1 : ARRAY OF LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putParcelable*(p0 : java_lang.String;
                                       p1 : Parcelable),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putParcelableArray*(    p0 : java_lang.String;
                                            IN  p1 : ARRAY OF Parcelable),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putParcelableArrayList*(p0 : java_lang.String;
                                                p1 : java_util.ArrayList),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putSerializable*(p0 : java_lang.String;
                                         p1 : java_io.Serializable),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putShort*(p0 : java_lang.String;
                                  p1 : SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putShortArray*(    p0 : java_lang.String;
                                       IN  p1 : ARRAY OF SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putSparseParcelableArray*(p0 : java_lang.String;
                                                  p1 : android_util.SparseArray),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putString*(p0 : java_lang.String;
                                   p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putStringArray*(    p0 : java_lang.String;
                                        IN  p1 : ARRAY OF java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) putStringArrayList*(p0 : java_lang.String;
                                            p1 : java_util.ArrayList),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) readFromParcel*(p0 : Parcel),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) remove*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) setClassLoader*(p0 : java_lang.ClassLoader),NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) size*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Bundle) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Bundle) writeToParcel*(p0 : Parcel;
                                       p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ConditionVariable) block*(),NEW,EXTENSIBLE;

PROCEDURE (self:ConditionVariable) block*(p0 : LONGINT) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ConditionVariable) close*(),NEW,EXTENSIBLE;

PROCEDURE (self:ConditionVariable) open*(),NEW,EXTENSIBLE;

PROCEDURE (self:CountDownTimer) cancel*(),NEW;

PROCEDURE (self:CountDownTimer) onFinish*(),NEW,ABSTRACT;

PROCEDURE (self:CountDownTimer) onTick*(p0 : LONGINT),NEW,ABSTRACT;

PROCEDURE (self:CountDownTimer) start*() : CountDownTimer,NEW;

PROCEDURE (self:Debug$InstructionCount) collect*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$InstructionCount) globalMethodInvocations*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$InstructionCount) globalTotal*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$InstructionCount) resetAndStart*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) getTotalPrivateDirty*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) getTotalPss*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) getTotalSharedDirty*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) readFromParcel*(p0 : Parcel),NEW,EXTENSIBLE;

PROCEDURE (self:Debug$MemoryInfo) writeToParcel*(p0 : Parcel;
                                                 p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:FileObserver) finalize!(),EXTENSIBLE;

PROCEDURE (self:FileObserver) onEvent*(p0 : INTEGER;
                                       p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:FileObserver) startWatching*(),NEW,EXTENSIBLE;

PROCEDURE (self:FileObserver) stopWatching*(),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) dispatchMessage*(p0 : Message),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) dump*(p0 : android_util.Printer;
                               p1 : java_lang.String),NEW;

PROCEDURE (self:Handler) getLooper*() : Looper,NEW;

PROCEDURE (self:Handler) handleMessage*(p0 : Message),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) hasMessages*(p0 : INTEGER) : BOOLEAN,NEW;

PROCEDURE (self:Handler) hasMessages*(p0 : INTEGER;
                                      p1 : java_lang.Object) : BOOLEAN,NEW;

PROCEDURE (self:Handler) obtainMessage*(p0 : INTEGER;
                                        p1 : INTEGER;
                                        p2 : INTEGER;
                                        p3 : java_lang.Object) : Message,NEW;

PROCEDURE (self:Handler) obtainMessage*(p0 : INTEGER) : Message,NEW;

PROCEDURE (self:Handler) obtainMessage*() : Message,NEW;

PROCEDURE (self:Handler) obtainMessage*(p0 : INTEGER;
                                        p1 : java_lang.Object) : Message,NEW;

PROCEDURE (self:Handler) obtainMessage*(p0 : INTEGER;
                                        p1 : INTEGER;
                                        p2 : INTEGER) : Message,NEW;

PROCEDURE (self:Handler) post*(p0 : java_lang.Runnable) : BOOLEAN,NEW;

PROCEDURE (self:Handler) postAtFrontOfQueue*(p0 : java_lang.Runnable) : BOOLEAN,NEW;

PROCEDURE (self:Handler) postAtTime*(p0 : java_lang.Runnable;
                                     p1 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) postAtTime*(p0 : java_lang.Runnable;
                                     p1 : java_lang.Object;
                                     p2 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) postDelayed*(p0 : java_lang.Runnable;
                                      p1 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) removeCallbacks*(p0 : java_lang.Runnable;
                                          p1 : java_lang.Object),NEW;

PROCEDURE (self:Handler) removeCallbacks*(p0 : java_lang.Runnable),NEW;

PROCEDURE (self:Handler) removeCallbacksAndMessages*(p0 : java_lang.Object),NEW;

PROCEDURE (self:Handler) removeMessages*(p0 : INTEGER),NEW;

PROCEDURE (self:Handler) removeMessages*(p0 : INTEGER;
                                         p1 : java_lang.Object),NEW;

PROCEDURE (self:Handler) sendEmptyMessage*(p0 : INTEGER) : BOOLEAN,NEW;

PROCEDURE (self:Handler) sendEmptyMessageAtTime*(p0 : INTEGER;
                                                 p1 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) sendEmptyMessageDelayed*(p0 : INTEGER;
                                                  p1 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) sendMessage*(p0 : Message) : BOOLEAN,NEW;

PROCEDURE (self:Handler) sendMessageAtFrontOfQueue*(p0 : Message) : BOOLEAN,NEW;

PROCEDURE (self:Handler) sendMessageAtTime*(p0 : Message;
                                            p1 : LONGINT) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) sendMessageDelayed*(p0 : Message;
                                             p1 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Handler) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Handler$Callback) handleMessage*(p0 : Message) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:HandlerThread) getLooper*() : Looper,NEW,EXTENSIBLE;

PROCEDURE (self:HandlerThread) getThreadId*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:HandlerThread) onLooperPrepared!(),NEW,EXTENSIBLE;

PROCEDURE (self:HandlerThread) quit*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:HandlerThread) run*(),EXTENSIBLE;

PROCEDURE (self:IBinder) dump*(    p0 : java_io.FileDescriptor;
                               IN  p1 : ARRAY OF java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:IBinder) getInterfaceDescriptor*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:IBinder) isBinderAlive*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:IBinder) linkToDeath*(p0 : IBinder$DeathRecipient;
                                      p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:IBinder) pingBinder*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:IBinder) queryLocalInterface*(p0 : java_lang.String) : IInterface,NEW,ABSTRACT;

PROCEDURE (self:IBinder) transact*(p0 : INTEGER;
                                   p1 : Parcel;
                                   p2 : Parcel;
                                   p3 : INTEGER) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:IBinder) unlinkToDeath*(p0 : IBinder$DeathRecipient;
                                        p1 : INTEGER) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:IBinder$DeathRecipient) binderDied*(),NEW,ABSTRACT;

PROCEDURE (self:IInterface) asBinder*() : IBinder,NEW,ABSTRACT;

PROCEDURE (self:Looper) dump*(p0 : android_util.Printer;
                              p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Looper) getThread*() : java_lang.Thread,NEW,EXTENSIBLE;

PROCEDURE (self:Looper) quit*(),NEW,EXTENSIBLE;

PROCEDURE (self:Looper) setMessageLogging*(p0 : android_util.Printer),NEW,EXTENSIBLE;

PROCEDURE (self:Looper) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:MemoryFile) allowPurging*(p0 : BOOLEAN) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) close*(),NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) finalize!(),EXTENSIBLE;

PROCEDURE (self:MemoryFile) getInputStream*() : java_io.InputStream,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) getOutputStream*() : java_io.OutputStream,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) isPurgingAllowed*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) length*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) readBytes*(IN  p0 : ARRAY OF BYTE;
                                           p1 : INTEGER;
                                           p2 : INTEGER;
                                           p3 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryFile) writeBytes*(IN  p0 : ARRAY OF BYTE;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Message) copyFrom*(p0 : Message),NEW,EXTENSIBLE;

PROCEDURE (self:Message) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Message) getCallback*() : java_lang.Runnable,NEW,EXTENSIBLE;

PROCEDURE (self:Message) getData*() : Bundle,NEW,EXTENSIBLE;

PROCEDURE (self:Message) getTarget*() : Handler,NEW,EXTENSIBLE;

PROCEDURE (self:Message) getWhen*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Message) peekData*() : Bundle,NEW,EXTENSIBLE;

PROCEDURE (self:Message) recycle*(),NEW,EXTENSIBLE;

PROCEDURE (self:Message) sendToTarget*(),NEW,EXTENSIBLE;

PROCEDURE (self:Message) setData*(p0 : Bundle),NEW,EXTENSIBLE;

PROCEDURE (self:Message) setTarget*(p0 : Handler),NEW,EXTENSIBLE;

PROCEDURE (self:Message) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Message) writeToParcel*(p0 : Parcel;
                                        p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:MessageQueue) addIdleHandler*(p0 : MessageQueue$IdleHandler),NEW;

PROCEDURE (self:MessageQueue) removeIdleHandler*(p0 : MessageQueue$IdleHandler),NEW;

PROCEDURE (self:MessageQueue$IdleHandler) queueIdle*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Messenger) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Messenger) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Messenger) getBinder*() : IBinder,NEW,EXTENSIBLE;

PROCEDURE (self:Messenger) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Messenger) send*(p0 : Message),NEW,EXTENSIBLE;

PROCEDURE (self:Messenger) writeToParcel*(p0 : Parcel;
                                          p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Parcel) appendFrom*(p0 : Parcel;
                                    p1 : INTEGER;
                                    p2 : INTEGER),NEW;

PROCEDURE (self:Parcel) createBinderArray*() : POINTER TO ARRAY OF IBinder,NEW;

PROCEDURE (self:Parcel) createBinderArrayList*() : java_util.ArrayList,NEW;

PROCEDURE (self:Parcel) createBooleanArray*() : POINTER TO ARRAY OF BOOLEAN,NEW;

PROCEDURE (self:Parcel) createByteArray*() : POINTER TO ARRAY OF BYTE,NEW;

PROCEDURE (self:Parcel) createCharArray*() : POINTER TO ARRAY OF CHAR,NEW;

PROCEDURE (self:Parcel) createDoubleArray*() : POINTER TO ARRAY OF REAL,NEW;

PROCEDURE (self:Parcel) createFloatArray*() : POINTER TO ARRAY OF SHORTREAL,NEW;

PROCEDURE (self:Parcel) createIntArray*() : POINTER TO ARRAY OF INTEGER,NEW;

PROCEDURE (self:Parcel) createLongArray*() : POINTER TO ARRAY OF LONGINT,NEW;

PROCEDURE (self:Parcel) createStringArray*() : POINTER TO ARRAY OF java_lang.String,NEW;

PROCEDURE (self:Parcel) createStringArrayList*() : java_util.ArrayList,NEW;

PROCEDURE (self:Parcel) createTypedArray*(p0 : Parcelable$Creator) : POINTER TO ARRAY OF java_lang.Object,NEW;

PROCEDURE (self:Parcel) createTypedArrayList*(p0 : Parcelable$Creator) : java_util.ArrayList,NEW;

PROCEDURE (self:Parcel) dataAvail*() : INTEGER,NEW;

PROCEDURE (self:Parcel) dataCapacity*() : INTEGER,NEW;

PROCEDURE (self:Parcel) dataPosition*() : INTEGER,NEW;

PROCEDURE (self:Parcel) dataSize*() : INTEGER,NEW;

PROCEDURE (self:Parcel) enforceInterface*(p0 : java_lang.String),NEW;

PROCEDURE (self:Parcel) finalize!(),EXTENSIBLE;

PROCEDURE (self:Parcel) hasFileDescriptors*() : BOOLEAN,NEW;

PROCEDURE (self:Parcel) marshall*() : POINTER TO ARRAY OF BYTE,NEW;

PROCEDURE (self:Parcel) readArray*(p0 : java_lang.ClassLoader) : POINTER TO ARRAY OF java_lang.Object,NEW;

PROCEDURE (self:Parcel) readArrayList*(p0 : java_lang.ClassLoader) : java_util.ArrayList,NEW;

PROCEDURE (self:Parcel) readBinderArray*(IN  p0 : ARRAY OF IBinder),NEW;

PROCEDURE (self:Parcel) readBinderList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) readBooleanArray*(IN  p0 : ARRAY OF BOOLEAN),NEW;

PROCEDURE (self:Parcel) readBundle*() : Bundle,NEW;

PROCEDURE (self:Parcel) readBundle*(p0 : java_lang.ClassLoader) : Bundle,NEW;

PROCEDURE (self:Parcel) readByte*() : BYTE,NEW;

PROCEDURE (self:Parcel) readByteArray*(IN  p0 : ARRAY OF BYTE),NEW;

PROCEDURE (self:Parcel) readCharArray*(IN  p0 : ARRAY OF CHAR),NEW;

PROCEDURE (self:Parcel) readDouble*() : REAL,NEW;

PROCEDURE (self:Parcel) readDoubleArray*(IN  p0 : ARRAY OF REAL),NEW;

PROCEDURE (self:Parcel) readException*(),NEW;

PROCEDURE (self:Parcel) readException*(p0 : INTEGER;
                                       p1 : java_lang.String),NEW;

PROCEDURE (self:Parcel) readFileDescriptor*() : ParcelFileDescriptor,NEW;

PROCEDURE (self:Parcel) readFloat*() : SHORTREAL,NEW;

PROCEDURE (self:Parcel) readFloatArray*(IN  p0 : ARRAY OF SHORTREAL),NEW;

PROCEDURE (self:Parcel) readHashMap*(p0 : java_lang.ClassLoader) : java_util.HashMap,NEW;

PROCEDURE (self:Parcel) readInt*() : INTEGER,NEW;

PROCEDURE (self:Parcel) readIntArray*(IN  p0 : ARRAY OF INTEGER),NEW;

PROCEDURE (self:Parcel) readList*(p0 : java_util.List;
                                  p1 : java_lang.ClassLoader),NEW;

PROCEDURE (self:Parcel) readLong*() : LONGINT,NEW;

PROCEDURE (self:Parcel) readLongArray*(IN  p0 : ARRAY OF LONGINT),NEW;

PROCEDURE (self:Parcel) readMap*(p0 : java_util.Map;
                                 p1 : java_lang.ClassLoader),NEW;

PROCEDURE (self:Parcel) readParcelable*(p0 : java_lang.ClassLoader) : Parcelable,NEW;

PROCEDURE (self:Parcel) readParcelableArray*(p0 : java_lang.ClassLoader) : POINTER TO ARRAY OF Parcelable,NEW;

PROCEDURE (self:Parcel) readSerializable*() : java_io.Serializable,NEW;

PROCEDURE (self:Parcel) readSparseArray*(p0 : java_lang.ClassLoader) : android_util.SparseArray,NEW;

PROCEDURE (self:Parcel) readSparseBooleanArray*() : android_util.SparseBooleanArray,NEW;

PROCEDURE (self:Parcel) readString*() : java_lang.String,NEW;

PROCEDURE (self:Parcel) readStringArray*(IN  p0 : ARRAY OF java_lang.String),NEW;

PROCEDURE (self:Parcel) readStringList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) readStrongBinder*() : IBinder,NEW;

PROCEDURE (self:Parcel) readTypedArray*(IN  p0 : ARRAY OF java_lang.Object;
                                            p1 : Parcelable$Creator),NEW;

PROCEDURE (self:Parcel) readTypedList*(p0 : java_util.List;
                                       p1 : Parcelable$Creator),NEW;

PROCEDURE (self:Parcel) readValue*(p0 : java_lang.ClassLoader) : java_lang.Object,NEW;

PROCEDURE (self:Parcel) recycle*(),NEW;

PROCEDURE (self:Parcel) setDataCapacity*(p0 : INTEGER),NEW;

PROCEDURE (self:Parcel) setDataPosition*(p0 : INTEGER),NEW;

PROCEDURE (self:Parcel) setDataSize*(p0 : INTEGER),NEW;

PROCEDURE (self:Parcel) unmarshall*(IN  p0 : ARRAY OF BYTE;
                                        p1 : INTEGER;
                                        p2 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeArray*(IN  p0 : ARRAY OF java_lang.Object),NEW;

PROCEDURE (self:Parcel) writeBinderArray*(IN  p0 : ARRAY OF IBinder),NEW;

PROCEDURE (self:Parcel) writeBinderList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) writeBooleanArray*(IN  p0 : ARRAY OF BOOLEAN),NEW;

PROCEDURE (self:Parcel) writeBundle*(p0 : Bundle),NEW;

PROCEDURE (self:Parcel) writeByte*(p0 : BYTE),NEW;

PROCEDURE (self:Parcel) writeByteArray*(IN  p0 : ARRAY OF BYTE),NEW;

PROCEDURE (self:Parcel) writeByteArray*(IN  p0 : ARRAY OF BYTE;
                                            p1 : INTEGER;
                                            p2 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeCharArray*(IN  p0 : ARRAY OF CHAR),NEW;

PROCEDURE (self:Parcel) writeDouble*(p0 : REAL),NEW;

PROCEDURE (self:Parcel) writeDoubleArray*(IN  p0 : ARRAY OF REAL),NEW;

PROCEDURE (self:Parcel) writeException*(p0 : java_lang.Exception),NEW;

PROCEDURE (self:Parcel) writeFileDescriptor*(p0 : java_io.FileDescriptor),NEW;

PROCEDURE (self:Parcel) writeFloat*(p0 : SHORTREAL),NEW;

PROCEDURE (self:Parcel) writeFloatArray*(IN  p0 : ARRAY OF SHORTREAL),NEW;

PROCEDURE (self:Parcel) writeInt*(p0 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeIntArray*(IN  p0 : ARRAY OF INTEGER),NEW;

PROCEDURE (self:Parcel) writeInterfaceToken*(p0 : java_lang.String),NEW;

PROCEDURE (self:Parcel) writeList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) writeLong*(p0 : LONGINT),NEW;

PROCEDURE (self:Parcel) writeLongArray*(IN  p0 : ARRAY OF LONGINT),NEW;

PROCEDURE (self:Parcel) writeMap*(p0 : java_util.Map),NEW;

PROCEDURE (self:Parcel) writeNoException*(),NEW;

PROCEDURE (self:Parcel) writeParcelable*(p0 : Parcelable;
                                         p1 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeParcelableArray*(IN  p0 : ARRAY OF Parcelable;
                                                  p1 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeSerializable*(p0 : java_io.Serializable),NEW;

PROCEDURE (self:Parcel) writeSparseArray*(p0 : android_util.SparseArray),NEW;

PROCEDURE (self:Parcel) writeSparseBooleanArray*(p0 : android_util.SparseBooleanArray),NEW;

PROCEDURE (self:Parcel) writeString*(p0 : java_lang.String),NEW;

PROCEDURE (self:Parcel) writeStringArray*(IN  p0 : ARRAY OF java_lang.String),NEW;

PROCEDURE (self:Parcel) writeStringList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) writeStrongBinder*(p0 : IBinder),NEW;

PROCEDURE (self:Parcel) writeStrongInterface*(p0 : IInterface),NEW;

PROCEDURE (self:Parcel) writeTypedArray*(IN  p0 : ARRAY OF Parcelable;
                                             p1 : INTEGER),NEW;

PROCEDURE (self:Parcel) writeTypedList*(p0 : java_util.List),NEW;

PROCEDURE (self:Parcel) writeValue*(p0 : java_lang.Object),NEW;

PROCEDURE (self:Parcelable) describeContents*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Parcelable) writeToParcel*(p0 : Parcel;
                                           p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Parcelable$Creator) createFromParcel*(p0 : Parcel) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:Parcelable$Creator) newArray*(p0 : INTEGER) : POINTER TO ARRAY OF java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:ParcelFileDescriptor) close*(),NEW,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) finalize!(),EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) getFileDescriptor*() : java_io.FileDescriptor,NEW,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) getStatSize*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor) writeToParcel*(p0 : Parcel;
                                                     p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor$AutoCloseInputStream) close*(),EXTENSIBLE;

PROCEDURE (self:ParcelFileDescriptor$AutoCloseOutputStream) close*(),EXTENSIBLE;

PROCEDURE (self:ParcelUuid) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ParcelUuid) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ParcelUuid) getUuid*() : java_util.UUID,NEW,EXTENSIBLE;

PROCEDURE (self:ParcelUuid) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ParcelUuid) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ParcelUuid) writeToParcel*(p0 : Parcel;
                                           p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:PatternMatcher) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:PatternMatcher) getPath*() : java_lang.String,NEW;

PROCEDURE (self:PatternMatcher) getType*() : INTEGER,NEW;

PROCEDURE (self:PatternMatcher) match*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:PatternMatcher) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:PatternMatcher) writeToParcel*(p0 : Parcel;
                                               p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager) goToSleep*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager) isScreenOn*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager) newWakeLock*(p0 : INTEGER;
                                           p1 : java_lang.String) : PowerManager$WakeLock,NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager) userActivity*(p0 : LONGINT;
                                            p1 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) acquire*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) acquire*(),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) finalize!(),EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) isHeld*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) release*(),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) setReferenceCounted*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:PowerManager$WakeLock) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) beginBroadcast*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) finishBroadcast*(),NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) getBroadcastCookie*(p0 : INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) getBroadcastItem*(p0 : INTEGER) : IInterface,NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) kill*(),NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) onCallbackDied*(p0 : IInterface;
                                                    p1 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) onCallbackDied*(p0 : IInterface),NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) register*(p0 : IInterface;
                                              p1 : java_lang.Object) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) register*(p0 : IInterface) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:RemoteCallbackList) unregister*(p0 : IInterface) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ResultReceiver) describeContents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ResultReceiver) onReceiveResult!(p0 : INTEGER;
                                                 p1 : Bundle),NEW,EXTENSIBLE;

PROCEDURE (self:ResultReceiver) send*(p0 : INTEGER;
                                      p1 : Bundle),NEW,EXTENSIBLE;

PROCEDURE (self:ResultReceiver) writeToParcel*(p0 : Parcel;
                                               p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:StatFs) finalize!(),EXTENSIBLE;

PROCEDURE (self:StatFs) getAvailableBlocks*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:StatFs) getBlockCount*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:StatFs) getBlockSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:StatFs) getFreeBlocks*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:StatFs) restat*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) acquire*(p0 : IBinder;
                                       p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) acquired*(),NEW,ABSTRACT;

PROCEDURE (self:TokenWatcher) cleanup*(p0 : IBinder;
                                       p1 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) dump*(),NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) isAcquired*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) release*(p0 : IBinder),NEW,EXTENSIBLE;

PROCEDURE (self:TokenWatcher) released*(),NEW,ABSTRACT;

PROCEDURE (self:Vibrator) cancel*(),NEW,EXTENSIBLE;

PROCEDURE (self:Vibrator) vibrate*(IN  p0 : ARRAY OF LONGINT;
                                       p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Vibrator) vibrate*(p0 : LONGINT),NEW,EXTENSIBLE;

END android_os.