Xenixshlib - Shared libraries for xenix (part 2 of 3)
pgd at bbt.se
pgd at bbt.se
Sat Jan 26 01:54:42 AEST 1991
---- Cut Here and unpack ----
#!/bin/sh
# This is part 02 of Xenixshlib
if touch 2>&1 | fgrep 'amc' > /dev/null
then TOUCH=touch
else TOUCH=true
fi
# ============= hash.c ==============
echo "x - extracting hash.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > hash.c &&
X#ifndef lint
Xstatic char rcsid[] = "$Id: hash.c,v 1.2 90/10/02 13:32:23 chris Exp $";
X#endif
X
X/*
X * Hash table routines.
X */
X
X#include <stdio.h>
X#include <stdlib.h>
X#include <string.h>
X#include "hash.h"
X
X/*
X * Hash table entries keep track of name=value pairs.
X * The names may be numeric IDs instead (by having a null name).
X */
Xstruct hashent {
X struct hashent *h_next;/* next in chain */
X int h_hash; /* hash value or ID */
X char *h_name; /* name (null if from numeric ID) */
X char *h_value; /* value */
X};
X
Xstruct hashtab {
X int ht_size; /* size (power of 2) */
X int ht_mask; /* == ht_size - 1 */
X int ht_used; /* number of entries used */
X int ht_lim; /* when to expand */
X struct hashent **ht_tab;/* base of table */
X char ht_name[1]; /* table name; actually larger */
X};
X
Xextern char *progname;
X
X#define bcopy(S, D, L) memcpy((D), (S), (L))
X
Xchar *
Xemalloc(n)
X size_t n;
X{
X register char *p = malloc(n);
X
X if (p == NULL) {
X (void) fprintf(stderr, "%s: out of memory\n", progname);
X exit(1);
X }
X return (p);
X}
X
X/* round up to next multiple of y, where y is a power of 2 */
X#define ROUND(x, y) (((x) + (y) - 1) & ~((y) - 1))
X
X/* compute a `good' number of objects to allocate via malloc */
Xint
Xgoodnumber(n, s)
X int n;
X size_t s;
X{
X
X /* 16384 is a guess at a good page size for malloc */
X /* 32 is a guess at malloc's overhead */
X return ((int)((ROUND(n * s + 32, 16384) - 32) / s));
X}
X
X/*
X * Make a new hash table.
X */
Xstruct hashtab *
Xht_new(name)
X char *name;
X{
X register struct hashtab *ht;
X register struct hashent **h;
X register int n;
X
X ht = (struct hashtab *)emalloc(sizeof *ht + strlen(name));
X ht->ht_tab = h = (struct hashent **)emalloc(128 * sizeof *h);
X ht->ht_size = 128;
X ht->ht_mask = 127;
X for (n = 128; --n >= 0;)
X *h++ = NULL;
X ht->ht_used = 0;
X ht->ht_lim = (128 * 2) / 3;
X (void) strcpy(ht->ht_name, name);
X return (ht);
X}
X
X/*
X * Expand an existing hash table.
X */
Xstatic void
Xht_expand(ht)
X register struct hashtab *ht;
X{
X register int n = ht->ht_size * 2, i;
X register struct hashent *p, **h, **oldh, *q;
X
X h = (struct hashent **)emalloc(n * sizeof *h);
X for (i = n; --i >= 0;)
X *h++ = NULL;
X h -= n;
X oldh = ht->ht_tab;
X n--;
X for (i = ht->ht_size; --i >= 0;) {
X for (p = *oldh++; p != NULL; p = q) {
X q = p->h_next;
X p->h_next = h[p->h_hash & n];
X h[p->h_hash & n] = p;
X }
X }
X free((char *)ht->ht_tab);
X ht->ht_tab = h;
X ht->ht_mask = n;
X ht->ht_size = ++n;
X ht->ht_lim = (n * 2) / 3;
X}
X
X/*
X * Make a new hash entry. Its h_next will be NULL.
X */
Xstatic struct hashent *
Xnewhashent(hash, name, value)
X int hash;
X char *name, *value;
X{
X static struct hashent *hfree;
X register struct hashent *h;
X register int n, nalloc;
X
X if ((h = hfree) != NULL)
X hfree = h->h_next;
X else {
X nalloc = goodnumber(2, sizeof *h); /* need at least 2 */
X hfree = h = (struct hashent *)emalloc(nalloc * sizeof *h) + 1;
X for (n = nalloc - 2; --n >= 0; h++)
X h->h_next = h + 1;
X h->h_next = NULL;
X h -= nalloc - 1;
X }
X h->h_next = NULL;
X h->h_hash = hash;
X h->h_name = name;
X h->h_value = value;
X return (h);
X}
X
X#define HASH(str, h, p) \
X for (p = str, h = 0; *p;) h = (h << 5) - h + *p++
X
X/*
X * Look up a name=value.
X */
Xchar *
Xht_nget(ht, name)
X register struct hashtab *ht;
X char *name;
X{
X register char *p;
X register int hash;
X register struct hashent *h;
X
X HASH(name, hash, p);
X p = name;
X for (h = ht->ht_tab[hash & ht->ht_mask]; h != NULL; h = h->h_next)
X if (h->h_hash == hash && h->h_name != NULL &&
X strcmp(h->h_name, p) == 0)
X return (h->h_value);
X return (NULL);
X}
X
X/*
X * Look up an ID=value.
X */
Xchar *
Xht_iget(ht, id)
X register struct hashtab *ht;
X register int id;
X{
X register struct hashent *h;
X
X for (h = ht->ht_tab[id & ht->ht_mask]; h != NULL; h = h->h_next)
X if (h->h_hash == id && h->h_name == NULL)
X return (h->h_value);
X return (NULL);
X}
X
X/*
X * Insert (do not clobber) a name=value.
X * Return zero on success.
X */
Xint
Xht_nins(ht, name, value)
X register struct hashtab *ht;
X char *name, *value;
X{
X register char *p;
X register int hash;
X register struct hashent *h, **hp;
X
X HASH(name, hash, p);
X p = name;
X for (hp = &ht->ht_tab[hash & ht->ht_mask]; (h = *hp) != NULL;
X hp = &h->h_next)
X if (h->h_hash == hash && h->h_name != NULL &&
X strcmp(h->h_name, p) == 0)
X return (-1);
X *hp = newhashent(hash, name, value);
X if (++ht->ht_used > ht->ht_lim)
X ht_expand(ht);
X return (0);
X}
X
X/*
X * Insert (do clobber) a name=value.
X * Return zero on success.
X */
Xvoid
Xht_nput(ht, name, value)
X register struct hashtab *ht;
X char *name, *value;
X{
X register char *p;
X register int hash;
X register struct hashent *h, **hp;
X
X HASH(name, hash, p);
X p = name;
X for (hp = &ht->ht_tab[hash & ht->ht_mask]; (h = *hp) != NULL;
X hp = &h->h_next)
X if (h->h_hash == hash && h->h_name != NULL &&
X strcmp(h->h_name, p) == 0) {
X h->h_value = value;
X return;
X }
X *hp = newhashent(hash, name, value);
X if (++ht->ht_used > ht->ht_lim)
X ht_expand(ht);
X return;
X}
X
X/*
X * Insert (do not clobber) an ID=value.
X * Return zero on success.
X */
Xint
Xht_iins(ht, id, value)
X register struct hashtab *ht;
X register int id;
X char *value;
X{
X register struct hashent *h, **hp;
X
X for (hp = &ht->ht_tab[id & ht->ht_mask]; (h = *hp) != NULL;
X hp = &h->h_next)
X if (h->h_hash == id && h->h_name == NULL)
X return (-1);
X *hp = newhashent(id, (char *)NULL, value);
X if (++ht->ht_used > ht->ht_lim)
X ht_expand(ht);
X return (0);
X}
X
X/*
X * Stash a copy of a string away; it will never be freed.
X */
Xstatic char *
Xpoolstr(s)
X char *s;
X{
X register char *p;
X register size_t l = strlen(s) + 1;
X static char *poolp;
X static size_t nleft;
X
X if (nleft < l)
X poolp = emalloc(nleft = goodnumber(l, 1));
X bcopy(s, p = poolp, l);
X poolp += l;
X return (p);
X}
X
X/*
X * Generate a single unique copy of the given string.
X */
Xchar *
Xstring(s)
X char *s;
X{
X register char *p;
X register int hash;
X register struct hashent *h, **hp;
X static struct hashtab *ht;
X
X if (ht == NULL)
X ht = ht_new("strings");
X HASH(s, hash, p);
X p = s;
X for (hp = &ht->ht_tab[hash & ht->ht_mask]; (h = *hp) != NULL;
X hp = &h->h_next)
X if (h->h_hash == hash && strcmp(h->h_name, p) == 0)
X return (h->h_name);
X *hp = h = newhashent(hash, poolstr(s), (char *)NULL);
X if (++ht->ht_used > ht->ht_lim)
X ht_expand(ht);
X return (h->h_name);
X}
X
X/*
X * Call fn on all the name=value pairs.
X */
Xvoid
Xht_niterate(ht, fn)
X struct hashtab *ht;
X register void (*fn)();
X{
X register struct hashent *h, **hp;
X register int n;
X
X for (n = ht->ht_size, hp = ht->ht_tab; --n >= 0;)
X for (h = *hp++; h != NULL; h = h->h_next)
X if (h->h_name != NULL)
X (*fn)(h->h_name, h->h_value);
X}
X
X/*
X * Call fn on all the id=value pairs.
X */
Xvoid
Xht_iiterate(ht, fn)
X struct hashtab *ht;
X register void (*fn)();
X{
X register struct hashent *h, **hp;
X register int n;
X
X for (n = ht->ht_size, hp = ht->ht_tab; --n >= 0;)
X for (h = *hp++; h != NULL; h = h->h_next)
X if (h->h_name == NULL)
X (*fn)(h->h_hash, h->h_value);
X}
SHAR_EOF
$TOUCH -am 1231154290 hash.c &&
chmod 0444 hash.c ||
echo "restore of hash.c failed"
set `wc -c hash.c`;Wc_c=$1
if test "$Wc_c" != "6906"; then
echo original size 6906, current size $Wc_c
fi
# ============= hash.h ==============
echo "x - extracting hash.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > hash.h &&
X/*
X * $Id: hash.h,v 1.1 90/09/24 23:58:38 chris Exp $
X *
X * Hash table entries keep track of name (or id) = value pairs.
X * Values are simply pointers. Hash tables themselves are named
X * (for debugging).
X */
X
Xstruct hashtab;
X
X/*
X * The `ins' functions return nonzero if the old value existed,
X * without changing the value.
X * The iterate functions calls a given function with name,value
X * or id,value pairs.
X */
Xstruct hashtab *ht_new(char *name); /* given name, create new hash table */
Xchar *ht_nget(struct hashtab *ht, char *name); /* given table and name, get value */
Xchar *ht_iget(struct hashtab *ht, int id); /* given table and ID, get value */
Xint ht_nins(struct hashtab *ht, char *name, char *value); /* given table and name, insert new value */
Xvoid ht_nput(struct hashtab *ht, char *name, char *value);
Xint ht_iins(struct hashtab *ht, int id, char *value); /* given table and id, insert new value */
Xvoid ht_niterate(struct hashtab *ht, void (*fn)()); /* given table and function, iterate */
Xvoid ht_iiterate(struct hashtab *ht, void (*fn)()); /* given table and function, iterate */
X
X/*
X * Some things that ought not to be here, but are anyway.
X * goodnumber() takes a number of objects and a size and returns
X * a new number of objects, such that malloc(goodnumber(n,size)*size)
X * calls malloc with a `good' size value (resulting in less wasted
X * memory). emalloc is malloc with program-abort on out-of-memory.
X * string() makes a `read-only' copy of a string, reusing the previous
X * copy if any.
X */
Xint goodnumber(); /* given n & sizeof, return new n */
Xchar *emalloc(); /* malloc, exit on error */
Xchar *string(char *s); /* make an `ideal' copy of a string */
SHAR_EOF
$TOUCH -am 1231154690 hash.h &&
chmod 0444 hash.h ||
echo "restore of hash.h failed"
set `wc -c hash.h`;Wc_c=$1
if test "$Wc_c" != "1686"; then
echo original size 1686, current size $Wc_c
fi
# ============= libX11_start.c ==============
echo "x - extracting libX11_start.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libX11_start.c &&
X/*
X * Startup routine for xenix with gcc using shared libraries
X * This routine is called from assembler routine "crt0"
X */
X#include <stdio.h>
X
Xchar **_argv;
Xint _argc;
Xstatic char **find_environ();
Xextern char **environ;
Xextern void (*_xcstart)(), (*_xcend)();
Xextern int libX11_version;
Xextern int (*_shlib_exit)();
Xextern exit();
X
X_start(argc, sargv)
X int argc;
X char *sargv;
X{
X char **vargv;
X int valsave;
X register char **argv = &sargv;
X static char errtxt[] = "\nVersion of libX11_s does not fit executable\n";
X
X if (libX11_version < VERSION) {
X write(2, errtxt, sizeof(errtxt));
X _exit(-1);
X }
X _argv = argv;
X _argc = argc;
X environ = find_environ(argv);
X _shlib_exit = exit;
X valsave = main(argc, argv, environ);
X _xcleanup();
X return valsave;
X}
X
Xstatic char **
Xfind_environ(fargv)
X register char **fargv;
X{
X register char *cp;
X
X cp = *fargv;
X do {
X fargv++;
X } while (fargv[-1]);
X if ((char *)fargv == cp)
X fargv--;
X return fargv;
X}
X
X
X_xcleanup()
X{
X register void (*xcp)();
X
X for (xcp = _xcstart; xcp != _xcend; xcp++)
X (*xcp)();
X}
X
SHAR_EOF
$TOUCH -am 0116101391 libX11_start.c &&
chmod 0660 libX11_start.c ||
echo "restore of libX11_start.c failed"
set `wc -c libX11_start.c`;Wc_c=$1
if test "$Wc_c" != "1049"; then
echo original size 1049, current size $Wc_c
fi
# ============= libc_jump.s ==============
echo "x - extracting libc_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libc_jump.s &&
X/
X/ Prefix file and jump table for libc shared library
X/
X/ Included in this table str (all) symbols used by most
X/ X libraries, except for the socket/network symbols, since
X/ there are different incompatible libraries for that.
X/ All gnulib symbols are also excluded, since the double jump
X/ might be seen as a slowdown.
X/ libc symbols which are not used by X-windows are not included.
X/
X/ Created by: pgd at compuram.bbt.se on 9-jan-91
X/
X.text
X jmp __bufsync
X jmp __cleanup
X jmp __doprnt
X jmp __doscan
X jmp __exit
X jmp __fcmp
X jmp __fcntl
X jmp __filbuf
X jmp __findbuf
X jmp __findiop
X jmp __flsbuf
X jmp __ftime
X jmp __ftol
X jmp __gdup
X jmp __rlatof
X jmp __rlprint
X jmp __sigcomm
X jmp __time
X jmp __wait
X jmp __wrtchk
X jmp __xflsbuf
X jmp _abs
X jmp _access
X jmp _alarm
X jmp _asctime
X jmp _atof
X jmp _atoi
X jmp _brk
X jmp _calloc
X jmp _ceil
X jmp _cfree
X jmp _close
X jmp _cos
X jmp _ctime
X jmp _creat
X jmp _dup
X jmp _dup2
X jmp _dysize
X jmp _ecvt
X jmp _endpwent
X/ jmp _exit
X jmp _execl
X jmp _execve
X jmp _exp
X jmp _fclose
X jmp _fcntl
X jmp _fcvt
X jmp _fflush
X jmp _fgets
X jmp _floor
X jmp _fltrd
X jmp _fopen
X jmp _fork
X jmp _fprintf
X jmp _fputs
X jmp _fread
X jmp _free
X jmp _freopen
X jmp _frexp
X jmp _fscanf
X jmp _fseek
X jmp _fstat
X jmp _ftell
X jmp _ftime
X jmp _fwrite
X jmp _getenv
X jmp _getlogin
X jmp _getpid
X jmp _getpwent
X jmp _getpwnam
X jmp _getpwuid
X jmp _gettzname
X jmp _getuid
X jmp _gmtime
X jmp _ioctl
X jmp _isatty
X jmp _labs
X jmp _ldexp
X jmp _localtime
X jmp _log
X jmp _log10
X jmp _lseek
X jmp _malloc
X jmp _matherr
X jmp _memccpy
X jmp _memchr
X jmp _memcmp
X jmp _memcpy
X jmp _memset
X jmp _mknod
X jmp _mktemp
X jmp _modf
X jmp _open
X jmp _pow
X jmp _printf
X jmp _qsort
X jmp _rand
X jmp _read
X jmp _realloc
X jmp _rewind
X jmp _sbrk
X jmp _scanf
X jmp _select
X jmp _setpwent
X jmp _sighold
X jmp _signal
X jmp _sigpause
X jmp _sigset
X jmp _sin
X jmp _sleep
X jmp _sprintf
X jmp _srand
X jmp _sscanf
X jmp _stat
X jmp _strcat
X jmp _strchr
X jmp _strcmp
X jmp _strcpy
X jmp _strdup
X jmp _strlen
X jmp _strncmp
X jmp _strncpy
X jmp _strrchr
X jmp _strtol
X jmp _system
X jmp _tmpnam
X jmp _time
X jmp _toupper
X jmp _ttyname
X jmp _ttyslot
X jmp _tzset
X jmp _uname
X jmp _ungetc
X jmp _unlink
X jmp _wait
X jmp _weekday
X jmp _write
X jmp _xexp
X jmp _xldexp
X jmp _xlocking
X jmp _xlog
X jmp _xlog10
X/
X/ Placeholder for other libc routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0116190391 libc_jump.s &&
chmod 0660 libc_jump.s ||
echo "restore of libc_jump.s failed"
set `wc -c libc_jump.s`;Wc_c=$1
if test "$Wc_c" != "2479"; then
echo original size 2479, current size $Wc_c
fi
# ============= libX11_jump.s ==============
echo "x - extracting libX11_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libX11_jump.s &&
X/
X/ Prefix file and jump table for libX11 shared library
X/
X
X.text
X jmp _ReadInteger
X jmp _XActivateScreenSaver
X jmp _XAddExtension
X jmp _XAddHost
X jmp _XAddHosts
X jmp _XAddPixel
X jmp _XAddToExtensionList
X jmp _XAddToSaveSet
X jmp _XAllPlanes
X jmp _XAllocClassHint
X jmp _XAllocColor
X jmp _XAllocColorCells
X jmp _XAllocColorPlanes
X jmp _XAllocIconSize
X jmp _XAllocNamedColor
X jmp _XAllocSizeHints
X jmp _XAllocStandardColormap
X jmp _XAllocWMHints
X jmp _XAllowEvents
X jmp _XAutoRepeatOff
X jmp _XAutoRepeatOn
X jmp _XBell
X jmp _XBitmapBitOrder
X jmp _XBitmapPad
X jmp _XBitmapUnit
X jmp _XBlackPixel
X jmp _XBlackPixelOfScreen
X jmp _XCellsOfScreen
X jmp _XChangeActivePointerGrab
X jmp _XChangeGC
X jmp _XChangeKeyboardControl
X jmp _XChangeKeyboardMapping
X jmp _XChangePointerControl
X jmp _XChangeProperty
X jmp _XChangeSaveSet
X jmp _XChangeWindowAttributes
X jmp _XCheckIfEvent
X jmp _XCheckMaskEvent
X jmp _XCheckTypedEvent
X jmp _XCheckTypedWindowEvent
X jmp _XCheckWindowEvent
X jmp _XCirculateSubwindows
X jmp _XCirculateSubwindowsDown
X jmp _XCirculateSubwindowsUp
X jmp _XClearArea
X jmp _XClearWindow
X jmp _XClipBox
X jmp _XCloseDisplay
X jmp _XConfigureWindow
X jmp _XConnectionNumber
X jmp _XConvertSelection
X jmp _XCopyArea
X jmp _XCopyColormapAndFree
X jmp _XCopyGC
X jmp _XCopyPlane
X jmp _XCreateBitmapFromData
X jmp _XCreateColormap
X jmp _XCreateFontCursor
X jmp _XCreateGC
X jmp _XCreateGlyphCursor
X jmp _XCreateImage
X jmp _XCreatePixmap
X jmp _XCreatePixmapCursor
X jmp _XCreatePixmapFromBitmapData
X jmp _XCreateRegion
X jmp _XCreateSimpleWindow
X jmp _XCreateWindow
X jmp _XDefaultColormap
X jmp _XDefaultColormapOfScreen
X jmp _XDefaultDepth
X jmp _XDefaultDepthOfScreen
X jmp _XDefaultGC
X jmp _XDefaultGCOfScreen
X jmp _XDefaultRootWindow
X jmp _XDefaultScreen
X jmp _XDefaultScreenOfDisplay
X jmp _XDefaultVisual
X jmp _XDefaultVisualOfScreen
X jmp _XDefineCursor
X jmp _XDeleteContext
X jmp _XDeleteModifiermapEntry
X jmp _XDeleteProperty
X jmp _XDestroyImage
X jmp _XDestroyRegion
X jmp _XDestroySubwindows
X jmp _XDestroyWindow
X jmp _XDisableAccessControl
X jmp _XDisplayCells
X jmp _XDisplayHeight
X jmp _XDisplayHeightMM
X jmp _XDisplayKeycodes
X jmp _XDisplayMotionBufferSize
X jmp _XDisplayName
X jmp _XDisplayOfScreen
X jmp _XDisplayPlanes
X jmp _XDisplayString
X jmp _XDisplayWidth
X jmp _XDisplayWidthMM
X jmp _XDoesBackingStore
X jmp _XDoesSaveUnders
X jmp _XDrawArc
X jmp _XDrawArcs
X jmp _XDrawImageString
X jmp _XDrawImageString16
X jmp _XDrawLine
X jmp _XDrawLines
X jmp _XDrawPoint
X jmp _XDrawPoints
X jmp _XDrawRectangle
X jmp _XDrawRectangles
X jmp _XDrawSegments
X jmp _XDrawString
X jmp _XDrawString16
X jmp _XDrawText
X jmp _XDrawText16
X jmp _XEHeadOfExtensionList
X jmp _XESetCloseDisplay
X jmp _XESetCopyGC
X jmp _XESetCreateFont
X jmp _XESetCreateGC
X jmp _XESetError
X jmp _XESetErrorString
X jmp _XESetEventToWire
X jmp _XESetFlushGC
X jmp _XESetFreeFont
X jmp _XESetFreeGC
X jmp _XESetWireToEvent
X jmp _XEmptyRegion
X jmp _XEnableAccessControl
X jmp _XEqualRegion
X jmp _XEventMaskOfScreen
X jmp _XEventsQueued
X jmp _XFetchBuffer
X jmp _XFetchBytes
X jmp _XFetchName
X jmp _XFillArc
X jmp _XFillArcs
X jmp _XFillPolygon
X jmp _XFillRectangle
X jmp _XFillRectangles
X jmp _XFindContext
X jmp _XFindOnExtensionList
X jmp _XFlush
X jmp _XForceScreenSaver
X jmp _XFree
X jmp _XFreeColormap
X jmp _XFreeColors
X jmp _XFreeCursor
X jmp _XFreeExtensionList
X jmp _XFreeFont
X jmp _XFreeFontInfo
X jmp _XFreeFontNames
X jmp _XFreeFontPath
X jmp _XFreeGC
X jmp _XFreeModifiermap
X jmp _XFreePixmap
X jmp _XFreeStringList
X jmp _XGContextFromGC
X jmp _XGeometry
X jmp _XGetAtomName
X jmp _XGetClassHint
X jmp _XGetCommand
X jmp _XGetDefault
X jmp _XGetErrorDatabaseText
X jmp _XGetErrorText
X jmp _XGetFontPath
X jmp _XGetFontProperty
X jmp _XGetGCValues
X jmp _XGetGeometry
X jmp _XGetIconName
X jmp _XGetIconSizes
X jmp _XGetImage
X jmp _XGetInputFocus
X jmp _XGetKeyboardControl
X jmp _XGetKeyboardMapping
X jmp _XGetModifierMapping
X jmp _XGetMotionEvents
X jmp _XGetNormalHints
X jmp _XGetPixel
X jmp _XGetPointerControl
X jmp _XGetPointerMapping
X jmp _XGetRGBColormaps
X jmp _XGetScreenSaver
X jmp _XGetSelectionOwner
X jmp _XGetSizeHints
X jmp _XGetStandardColormap
X jmp _XGetSubImage
X jmp _XGetTextProperty
X jmp _XGetTransientForHint
X jmp _XGetVisualInfo
X jmp _XGetWMClientMachine
X jmp _XGetWMColormapWindows
X jmp _XGetWMHints
X jmp _XGetWMIconName
X jmp _XGetWMName
X jmp _XGetWMNormalHints
X jmp _XGetWMProtocols
X jmp _XGetWMSizeHints
X jmp _XGetWindowAttributes
X jmp _XGetWindowProperty
X jmp _XGetZoomHints
X jmp _XGrabButton
X jmp _XGrabKey
X jmp _XGrabKeyboard
X jmp _XGrabPointer
X jmp _XGrabServer
X jmp _XHeightMMOfScreen
X jmp _XHeightOfScreen
X jmp _XIconifyWindow
X jmp _XIfEvent
X jmp _XImageByteOrder
X jmp _XInitExtension
X jmp _XInsertModifiermapEntry
X jmp _XInstallColormap
X jmp _XInternAtom
X jmp _XIntersectRegion
X jmp _XKeycodeToKeysym
X jmp _XKeysymToKeycode
X jmp _XKeysymToString
X jmp _XKillClient
X jmp _XLastKnownRequestProcessed
X jmp _XListDepths
X jmp _XListExtensions
X jmp _XListFonts
X jmp _XListFontsWithInfo
X jmp _XListHosts
X jmp _XListInstalledColormaps
X jmp _XListPixmapFormats
X jmp _XListProperties
X jmp _XLoadFont
X jmp _XLoadQueryFont
X jmp _XLookupColor
X jmp _XLookupKeysym
X jmp _XLookupString
X jmp _XLowerWindow
X jmp _XMapRaised
X jmp _XMapSubwindows
X jmp _XMapWindow
X jmp _XMaskEvent
X jmp _XMatchVisualInfo
X jmp _XMaxCmapsOfScreen
X jmp _XMaxRequestSize
X jmp _XMinCmapsOfScreen
X jmp _XMoveResizeWindow
X jmp _XMoveWindow
X jmp _XNewModifiermap
X jmp _XNextEvent
X jmp _XNextRequest
X jmp _XNoOp
X jmp _XOffsetRegion
X jmp _XOpenDisplay
X jmp _XParseColor
X jmp _XParseGeometry
X jmp _XPeekEvent
X jmp _XPeekIfEvent
X jmp _XPending
X jmp _XPlanesOfScreen
X jmp _XPointInRegion
X jmp _XPolygonRegion
X jmp _XProtocolRevision
X jmp _XProtocolVersion
X jmp _XPutBackEvent
X jmp _XPutImage
X jmp _XPutPixel
X jmp _XQLength
X jmp _XQueryBestCursor
X jmp _XQueryBestSize
X jmp _XQueryBestStipple
X jmp _XQueryBestTile
X jmp _XQueryColor
X jmp _XQueryColors
X jmp _XQueryExtension
X jmp _XQueryFont
X jmp _XQueryKeymap
X jmp _XQueryPointer
X jmp _XQueryTextExtents
X jmp _XQueryTextExtents16
X jmp _XQueryTree
X jmp _XRaiseWindow
X jmp _XReadBitmapFile
X jmp _XRebindKeysym
X jmp _XRecolorCursor
X jmp _XReconfigureWMWindow
X jmp _XRectInRegion
X jmp _XRefreshKeyboardMapping
X jmp _XRemoveFromSaveSet
X jmp _XRemoveHost
X jmp _XRemoveHosts
X jmp _XReparentWindow
X jmp _XResetScreenSaver
X jmp _XResizeWindow
X jmp _XResourceManagerString
X jmp _XRestackWindows
X jmp _XRootWindow
X jmp _XRootWindowOfScreen
X jmp _XRotateBuffers
X jmp _XRotateWindowProperties
X jmp _XSaveContext
X jmp _XScreenCount
X jmp _XScreenNumberOfScreen
X jmp _XScreenOfDisplay
X jmp _XSelectInput
X jmp _XSendEvent
X jmp _XServerVendor
X jmp _XSetAccessControl
X jmp _XSetAfterFunction
X jmp _XSetArcMode
X jmp _XSetAuthorization
X jmp _XSetBackground
X jmp _XSetClassHint
X jmp _XSetClipMask
X jmp _XSetClipOrigin
X jmp _XSetClipRectangles
X jmp _XSetCloseDownMode
X jmp _XSetCommand
X jmp _XSetDashes
X jmp _XSetErrorHandler
X jmp _XSetFillRule
X jmp _XSetFillStyle
X jmp _XSetFont
X jmp _XSetFontPath
X jmp _XSetForeground
X jmp _XSetFunction
X jmp _XSetGraphicsExposures
X jmp _XSetIOErrorHandler
X jmp _XSetIconName
X jmp _XSetIconSizes
X jmp _XSetInputFocus
X jmp _XSetLineAttributes
X jmp _XSetModifierMapping
X jmp _XSetNormalHints
X jmp _XSetPlaneMask
X jmp _XSetPointerMapping
X jmp _XSetRGBColormaps
X jmp _XSetRegion
X jmp _XSetScreenSaver
X jmp _XSetSelectionOwner
X jmp _XSetSizeHints
X jmp _XSetStandardColormap
X jmp _XSetStandardProperties
X jmp _XSetState
X jmp _XSetStipple
X jmp _XSetSubwindowMode
X jmp _XSetTSOrigin
X jmp _XSetTextProperty
X jmp _XSetTile
X jmp _XSetTransientForHint
X jmp _XSetWMClientMachine
X jmp _XSetWMColormapWindows
X jmp _XSetWMHints
X jmp _XSetWMIconName
X jmp _XSetWMName
X jmp _XSetWMNormalHints
X jmp _XSetWMProperties
X jmp _XSetWMProtocols
X jmp _XSetWMSizeHints
X jmp _XSetWindowBackground
X jmp _XSetWindowBackgroundPixmap
X jmp _XSetWindowBorder
X jmp _XSetWindowBorderPixmap
X jmp _XSetWindowBorderWidth
X jmp _XSetWindowColormap
X jmp _XSetZoomHints
X jmp _XShrinkRegion
X jmp _XStoreBuffer
X jmp _XStoreBytes
X jmp _XStoreColor
X jmp _XStoreColors
X jmp _XStoreName
X jmp _XStoreNamedColor
X jmp _XStringListToTextProperty
X jmp _XStringToKeysym
X jmp _XSubImage
X jmp _XSubtractRegion
X jmp _XSync
X jmp _XSynchronize
X jmp _XTextExtents
X jmp _XTextExtents16
X jmp _XTextPropertyToStringList
X jmp _XTextWidth
X jmp _XTextWidth16
X jmp _XTranslateCoordinates
X jmp _XUndefineCursor
X jmp _XUngrabButton
X jmp _XUngrabKey
X jmp _XUngrabKeyboard
X jmp _XUngrabPointer
X jmp _XUngrabServer
X jmp _XUninstallColormap
X jmp _XUnionRectWithRegion
X jmp _XUnionRegion
X jmp _XUnloadFont
X jmp _XUnmapSubwindows
X jmp _XUnmapWindow
X jmp _XVendorRelease
X jmp _XVisualIDFromVisual
X jmp _XWMGeometry
X jmp _XWarpPointer
X jmp _XWhitePixel
X jmp _XWhitePixelOfScreen
X jmp _XWidthMMOfScreen
X jmp _XWidthOfScreen
X jmp _XWindowEvent
X jmp _XWithdrawWindow
X jmp _XWriteBitmapFile
X jmp _XXorRegion
X jmp _XauDisposeAuth
X jmp _XauFileName
X jmp _XauGetAuthByAddr
X jmp _XauReadAuth
X jmp _Xpermalloc
X jmp _XrmDestroyDatabase
X jmp _XrmGetFileDatabase
X jmp _XrmGetResource
X jmp _XrmGetStringDatabase
X jmp _XrmInitialize
X jmp _XrmMergeDatabases
X jmp _XrmParseCommand
X jmp _XrmPutFileDatabase
X jmp _XrmPutLineResource
X jmp _XrmPutResource
X jmp _XrmPutStringResource
X jmp _XrmQGetResource
X jmp _XrmQGetSearchList
X jmp _XrmQGetSearchResource
X jmp _XrmQPutResource
X jmp _XrmQPutStringResource
X jmp _XrmQuarkToString
X jmp _XrmStringToBindingQuarkList
X jmp _XrmStringToQuark
X jmp _XrmStringToQuarkList
X jmp _XrmUniqueQuark
X jmp __Reverse_Bytes
X jmp __XAllocID
X jmp __XAllocScratch
X jmp __XConnectDisplay
X jmp __XDefaultError
X jmp __XDefaultIOError
X jmp __XDisconnectDisplay
X jmp __XEatData
X jmp __XEnq
X jmp __XError
X jmp __XEventToWire
X jmp __XEventsQueued
X jmp __XFlush
X jmp __XFlushGCCache
X jmp __XFreeDisplayStructure
X jmp __XFreeExtData
X jmp __XFreeKeyBindings
X jmp __XFreeQ
X jmp __XGenerateGCList
X jmp __XGetBitsPerPixel
X jmp __XGetHostname
X jmp __XGetScanlinePad
X jmp __XIOError
X jmp __XInitImageFuncPtrs
X jmp __XInitKeysymDB
X jmp __XPrintDefaultError
X jmp __XProcessWindowAttributes
X jmp __XRead
X jmp __XReadEvents
X jmp __XReadPad
X jmp __XReply
X jmp __XScreenOfWindow
X jmp __XSend
X jmp __XSendClientPrefix
X jmp __XSetClipRectangles
X jmp __XSetImage
X jmp __XSetLastRequestRead
X jmp __XSyncFunction
X jmp __XUnknownNativeEvent
X jmp __XUnknownWireEvent
X jmp __XUpdateGCCache
X jmp __XVIDtoVisual
X jmp __XWaitForReadable
X jmp __XWaitForWritable
X jmp __XWireToEvent
X jmp __XXlibGlobalLoadDummyProcedure
X jmp __XrmGetResourceName
X jmp _bcmp
X jmp _bcopy
X jmp _bzero
X jmp _combineRegs
X jmp _ffs
X jmp _gettimeofday
X jmp _index
X jmp _insque
X jmp _random
X jmp _readv
X jmp _remque
X jmp _rindex
X jmp _srandom
X jmp _writev
X/
X/ Placeholder for other routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0112132791 libX11_jump.s &&
chmod 0660 libX11_jump.s ||
echo "restore of libX11_jump.s failed"
set `wc -c libX11_jump.s`;Wc_c=$1
if test "$Wc_c" != "10793"; then
echo original size 10793, current size $Wc_c
fi
# ============= libXmu_jump.s ==============
echo "x - extracting libXmu_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libXmu_jump.s &&
X/
X/ Prefix file and jump table for libXmu shared library
X/
X
X.text
X jmp _XctCreate
X jmp _XctFree
X jmp _XctNextItem
X jmp _XctReset
X jmp _XmuAddCloseDisplayHook
X jmp _XmuAddInitializer
X jmp _XmuAllStandardColormaps
X jmp _XmuCallInitializers
X jmp _XmuClientWindow
X jmp _XmuCompareISOLatin1
X jmp _XmuConvertStandardSelection
X jmp _XmuCopyISOLatin1Lowered
X jmp _XmuCopyISOLatin1Uppered
X jmp _XmuCreateColormap
X jmp _XmuCreatePixmapFromBitmap
X jmp _XmuCreateStippledPixmap
X jmp _XmuCursorNameToIndex
X jmp _XmuCvtFunctionToCallback
X jmp _XmuCvtStringToBackingStore
X jmp _XmuCvtStringToBitmap
X jmp _XmuCvtStringToCursor
X jmp _XmuCvtStringToJustify
X jmp _XmuCvtStringToLong
X jmp _XmuCvtStringToOrientation
X jmp _XmuCvtStringToShapeStyle
X jmp _XmuCvtStringToWidget
X jmp _XmuDQAddDisplay
X jmp _XmuDQCreate
X jmp _XmuDQDestroy
X jmp _XmuDQLookupDisplay
X jmp _XmuDQRemoveDisplay
X jmp _XmuDeleteStandardColormap
X jmp _XmuDrawLogo
X jmp _XmuDrawRoundedRectangle
X jmp _XmuFillRoundedRectangle
X jmp _XmuGetAtomName
X jmp _XmuGetColormapAllocation
X jmp _XmuGetHostname
X jmp _XmuInternAtom
X jmp _XmuInternStrings
X jmp _XmuLocateBitmapFile
X jmp _XmuLookupAPL
X jmp _XmuLookupArabic
X jmp _XmuLookupCloseDisplayHook
X jmp _XmuLookupCyrillic
X jmp _XmuLookupGreek
X jmp _XmuLookupHebrew
X jmp _XmuLookupJISX0201
X jmp _XmuLookupKana
X jmp _XmuLookupLatin1
X jmp _XmuLookupLatin2
X jmp _XmuLookupLatin3
X jmp _XmuLookupLatin4
X jmp _XmuLookupStandardColormap
X jmp _XmuLookupString
X jmp _XmuMakeAtom
X jmp _XmuNameOfAtom
X jmp _XmuPrintDefaultErrorMessage
X jmp _XmuReadBitmapData
X jmp _XmuReadBitmapDataFromFile
X jmp _XmuReleaseStippledPixmap
X jmp _XmuRemoveCloseDisplayHook
X jmp _XmuReshapeWidget
X jmp _XmuScreenOfWindow
X jmp _XmuSimpleErrorHandler
X jmp _XmuStandardColormap
X jmp _XmuUpdateMapHints
X jmp _XmuVisualStandardColormaps
X jmp __XmuCCLookupDisplay
X jmp __XmuStringToBitmapFreeCache
X jmp __XmuStringToBitmapInitCache
X/
X/ Placeholder for other routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0112132891 libXmu_jump.s &&
chmod 0660 libXmu_jump.s ||
echo "restore of libXmu_jump.s failed"
set `wc -c libXmu_jump.s`;Wc_c=$1
if test "$Wc_c" != "2027"; then
echo original size 2027, current size $Wc_c
fi
# ============= libXt_jump.s ==============
echo "x - extracting libXt_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libXt_jump.s &&
X/
X/ Prefix file and jump table for libXt shared library
X/
X
X.text
X jmp _CompositeClassPartInitialize
X jmp _CompositeDeleteChild
X jmp _CompositeDestroy
X jmp _CompositeInitialize
X jmp _CompositeInsertChild
X jmp _LowerCase
X jmp _PeekOtherSources
X jmp _XrmCompileResourceList
X jmp _XtAddActions
X jmp _XtAddCallback
X jmp _XtAddCallbacks
X jmp _XtAddConverter
X jmp _XtAddEventHandler
X jmp _XtAddExposureToRegion
X jmp _XtAddGrab
X jmp _XtAddInput
X jmp _XtAddRawEventHandler
X jmp _XtAddTimeOut
X jmp _XtAddWorkProc
X jmp _XtAppAddActionHook
X jmp _XtAppAddActions
X jmp _XtAppAddConverter
X jmp _XtAppAddInput
X jmp _XtAppAddTimeOut
X jmp _XtAppAddWorkProc
X jmp _XtAppCreateShell
X jmp _XtAppError
X jmp _XtAppErrorMsg
X jmp _XtAppGetErrorDatabase
X jmp _XtAppGetErrorDatabaseText
X jmp _XtAppGetSelectionTimeout
X jmp _XtAppInitialize
X jmp _XtAppMainLoop
X jmp _XtAppNextEvent
X jmp _XtAppPeekEvent
X jmp _XtAppPending
X jmp _XtAppProcessEvent
X jmp _XtAppReleaseCacheRefs
X jmp _XtAppSetErrorHandler
X jmp _XtAppSetErrorMsgHandler
X jmp _XtAppSetFallbackResources
X jmp _XtAppSetSelectionTimeout
X jmp _XtAppSetTypeConverter
X jmp _XtAppSetWarningHandler
X jmp _XtAppSetWarningMsgHandler
X jmp _XtAppWarning
X jmp _XtAppWarningMsg
X jmp _XtAugmentTranslations
X jmp _XtBuildEventMask
X jmp _XtCallAcceptFocus
X jmp _XtCallActionProc
X jmp _XtCallCallbackList
X jmp _XtCallCallbacks
X jmp _XtCallConverter
X jmp _XtCallbackExclusive
X jmp _XtCallbackNone
X jmp _XtCallbackNonexclusive
X jmp _XtCallbackPopdown
X jmp _XtCallbackReleaseCacheRef
X jmp _XtCallbackReleaseCacheRefList
X jmp _XtCalloc
X jmp _XtClass
X jmp _XtCloseDisplay
X jmp _XtConfigureWidget
X jmp _XtConvert
X jmp _XtConvertAndStore
X jmp _XtConvertCase
X jmp _XtCopyAncestorSensitive
X jmp _XtCopyDefaultColormap
X jmp _XtCopyDefaultDepth
X jmp _XtCopyFromParent
X jmp _XtCopyScreen
X jmp _XtCreateApplicationContext
X jmp _XtCreateApplicationShell
X jmp _XtCreateManagedWidget
X jmp _XtCreatePopupShell
X jmp _XtCreateWidget
X jmp _XtCreateWindow
X jmp _XtDatabase
X jmp _XtDestroyApplicationContext
X jmp _XtDestroyGC
X jmp _XtDestroyWidget
X jmp _XtDirectConvert
X jmp _XtDisownSelection
X jmp _XtDispatchEvent
X jmp _XtDisplay
X jmp _XtDisplayInitialize
X jmp _XtDisplayOfObject
X jmp _XtDisplayStringConversionWarning
X jmp _XtDisplayToApplicationContext
X jmp _XtError
X jmp _XtErrorMsg
X jmp _XtFindFile
X jmp _XtFree
X jmp _XtGetActionKeysym
X jmp _XtGetApplicationNameAndClass
X jmp _XtGetApplicationResources
X jmp _XtGetConstraintResourceList
X jmp _XtGetErrorDatabase
X jmp _XtGetErrorDatabaseText
X jmp _XtGetGC
X jmp _XtGetKeysymTable
X jmp _XtGetMultiClickTime
X jmp _XtGetResourceList
X jmp _XtGetSelectionRequest
X jmp _XtGetSelectionTimeout
X jmp _XtGetSelectionValue
X jmp _XtGetSelectionValueIncremental
X jmp _XtGetSelectionValues
X jmp _XtGetSelectionValuesIncremental
X jmp _XtGetSubresources
X jmp _XtGetSubvalues
X jmp _XtGetValues
X jmp _XtGrabButton
X jmp _XtGrabKey
X jmp _XtGrabKeyboard
X jmp _XtGrabPointer
X jmp _XtHasCallbacks
X jmp _XtInitialize
X jmp _XtInitializeWidgetClass
X jmp _XtInsertEventHandler
X jmp _XtInsertRawEventHandler
X jmp _XtInstallAccelerators
X jmp _XtInstallAllAccelerators
X jmp _XtIsApplicationShell
X jmp _XtIsComposite
X jmp _XtIsConstraint
X jmp _XtIsManaged
X jmp _XtIsObject
X jmp _XtIsOverrideShell
X jmp _XtIsRealized
X jmp _XtIsRectObj
X jmp _XtIsSensitive
X jmp _XtIsShell
X jmp _XtIsSubclass
X jmp _XtIsTopLevelShell
X jmp _XtIsTransientShell
X jmp _XtIsVendorShell
X jmp _XtIsWMShell
X jmp _XtIsWidget
X jmp _XtKeysymToKeycodeList
X jmp _XtLastTimestampProcessed
X jmp _XtMainLoop
X jmp _XtMakeGeometryRequest
X jmp _XtMakeResizeRequest
X jmp _XtMalloc
X jmp _XtManageChild
X jmp _XtManageChildren
X jmp _XtMapWidget
X jmp _XtMenuPopupAction
X jmp _XtMergeArgLists
X jmp _XtMoveWidget
X jmp _XtName
X jmp _XtNameToWidget
X jmp _XtNewString
X jmp _XtNextEvent
X jmp _XtOpenDisplay
X jmp _XtOverrideTranslations
X jmp _XtOwnSelection
X jmp _XtOwnSelectionIncremental
X jmp _XtParent
X jmp _XtParseAcceleratorTable
X jmp _XtParseTranslationTable
X jmp _XtPeekEvent
X jmp _XtPending
X jmp _XtPopdown
X jmp _XtPopup
X jmp _XtPopupSpringLoaded
X jmp _XtProcessEvent
X jmp _XtQueryGeometry
X jmp _XtRealizeWidget
X jmp _XtRealloc
X jmp _XtRegisterCaseConverter
X jmp _XtRegisterGrabAction
X jmp _XtReleaseGC
X jmp _XtRemoveActionHook
X jmp _XtRemoveAllCallbacks
X jmp _XtRemoveCallback
X jmp _XtRemoveCallbacks
X jmp _XtRemoveEventHandler
X jmp _XtRemoveGrab
X jmp _XtRemoveInput
X jmp _XtRemoveRawEventHandler
X jmp _XtRemoveTimeOut
X jmp _XtRemoveWorkProc
X jmp _XtResizeWidget
X jmp _XtResizeWindow
X jmp _XtResolvePathname
X jmp _XtScreen
X jmp _XtScreenOfObject
X jmp _XtSetErrorHandler
X jmp _XtSetErrorMsgHandler
X jmp _XtSetKeyTranslator
X jmp _XtSetKeyboardFocus
X jmp _XtSetMappedWhenManaged
X jmp _XtSetMultiClickTime
X jmp _XtSetSelectionTimeout
X jmp _XtSetSensitive
X jmp _XtSetSubvalues
X jmp _XtSetTypeConverter
X jmp _XtSetValues
X jmp _XtSetWMColormapWindows
X jmp _XtSetWarningHandler
X jmp _XtSetWarningMsgHandler
X jmp _XtStringConversionWarning
X jmp _XtSuperclass
X jmp _XtToolkitInitialize
X jmp _XtTranslateCoords
X jmp _XtTranslateKey
X jmp _XtTranslateKeycode
X jmp _XtUngrabButton
X jmp _XtUngrabKey
X jmp _XtUngrabKeyboard
X jmp _XtUngrabPointer
X jmp _XtUninstallTranslations
X jmp _XtUnmanageChild
X jmp _XtUnmanageChildren
X jmp _XtUnmapWidget
X jmp _XtUnrealizeWidget
X jmp _XtVaAppCreateShell
X jmp _XtVaAppInitialize
X jmp _XtVaCreateArgsList
X jmp _XtVaCreateManagedWidget
X jmp _XtVaCreatePopupShell
X jmp _XtVaCreateWidget
X jmp _XtVaGetApplicationResources
X jmp _XtVaGetSubresources
X jmp _XtVaGetSubvalues
X jmp _XtVaGetValues
X jmp _XtVaSetSubvalues
X jmp _XtVaSetValues
X jmp _XtWarning
X jmp _XtWarningMsg
X jmp _XtWidgetToApplicationContext
X jmp _XtWindow
X jmp _XtWindowOfObject
X jmp _XtWindowToWidget
X jmp __CompileActionTable
X jmp __XtAddCallback
X jmp __XtAddCallbackOnce
X jmp __XtAddDefaultConverters
X jmp __XtAddEventSeqToStateTable
X jmp __XtAddTMConverters
X jmp __XtAllocError
X jmp __XtAppCreateShell
X jmp __XtBindActions
X jmp __XtBuildKeysymTables
X jmp __XtCacheFlushTag
X jmp __XtCallCallbacks
X jmp __XtCallConverter
X jmp __XtCallbackList
X jmp __XtCheckServerGrabsOnWidget
X jmp __XtCheckSubclassFlag
X jmp __XtCloseDisplays
X jmp __XtCompileCallbackList
X jmp __XtCondCopyTranslations
X jmp __XtConstraintResDependencies
X jmp __XtConvert
X jmp __XtConvertCase
X jmp __XtConvertInitialize
X jmp __XtCopyFromArg
X jmp __XtCopyToArg
X jmp __XtCountVaList
X jmp __XtCreateIndirectionTable
X jmp __XtCreatePopupShell
X jmp __XtCreateWidget
X jmp __XtCvtMergeTranslations
X jmp __XtDefaultAppContext
X jmp __XtDefaultError
X jmp __XtDefaultErrorMsg
X jmp __XtDefaultWarning
X jmp __XtDefaultWarningMsg
X jmp __XtDependencies
X jmp __XtDestroyAppContexts
X jmp __XtDestroyServerGrabs
X jmp __XtDisplayInitialize
X jmp __XtDoPhase2Destroy
X jmp __XtEventInitialize
X jmp __XtFillAncestorList
X jmp __XtFindRemapWidget
X jmp __XtFreeActions
X jmp __XtFreeCacheRec
X jmp __XtFreeCallbackList
X jmp __XtFreeConverterTable
X jmp __XtFreeEventTable
X jmp __XtFreePerWidgetInput
X jmp __XtFreeTranslations
X jmp __XtGClistFree
X jmp __XtGetCallbackList
X jmp __XtGetPerWidgetInput
X jmp __XtGetProcessContext
X jmp __XtGetResources
X jmp __XtHandleFocus
X jmp __XtHeapAlloc
X jmp __XtInherit
X jmp __XtInitErrorHandling
X jmp __XtInitializeStateTable
X jmp __XtInstallTranslations
X jmp __XtIsSubclassOf
X jmp __XtMakeGeometryRequest
X jmp __XtMatchAtom
X jmp __XtMatchUsingDontCareMods
X jmp __XtMatchUsingStandardMods
X jmp __XtOnGrabList
X jmp __XtPopup
X jmp __XtPopupInitialize
X jmp __XtProcessKeyboardEvent
X jmp __XtProcessPointerEvent
X jmp __XtRegisterAccRemoveCallbacks
X jmp __XtRegisterGrabs
X jmp __XtRegisterWindow
X jmp __XtRegularMatch
X jmp __XtRemoveAllCallbacks
X jmp __XtRemoveAllInputs
X jmp __XtRemoveCallback
X jmp __XtRemoveTranslations
X jmp __XtResourceDependencies
X jmp __XtResourceListInitialize
X jmp __XtSendFocusEvent
X jmp __XtSetDefaultConverterTable
X jmp __XtSetDefaultErrorHandlers
X jmp __XtSetDefaultSelectionTimeout
X jmp __XtShellGetCoordinates
X jmp __XtSortPerDisplayList
X jmp __XtTableAddConverter
X jmp __XtTranslateEvent
X jmp __XtTranslateInitialize
X jmp __XtTranslateTablePrint
X jmp __XtUngrabBadGrabs
X jmp __XtUninstallAccelerators
X jmp __XtUnregisterWindow
X jmp __XtVaAppInitialize
X jmp __XtVaCreateTypedArgList
X jmp __XtVaToArgList
X jmp __XtVaToTypedArgList
X jmp __XtWindowedAncestor
X jmp __XtwaitForSomething
X/
X/ Placeholder for other routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0112132891 libXt_jump.s &&
chmod 0660 libXt_jump.s ||
echo "restore of libXt_jump.s failed"
set `wc -c libXt_jump.s`;Wc_c=$1
if test "$Wc_c" != "8376"; then
echo original size 8376, current size $Wc_c
fi
# ============= libXaw_jump.s ==============
echo "x - extracting libXaw_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libXaw_jump.s &&
X/
X/ Prefix file and jump table for libXaw shared library
X/
X
X.text
X jmp _CommitGripAdjustment
X jmp _FindCornerItems
X jmp _HighlightBackground
X jmp _ItemInRectangle
X jmp _PaintItemName
X jmp _XawAsciiSave
X jmp _XawAsciiSaveAsFile
X jmp _XawAsciiSourceChanged
X jmp _XawAsciiSourceFreeString
X jmp _XawDialogAddButton
X jmp _XawDialogGetValueString
X jmp _XawDiskSourceCreate
X jmp _XawFormDoLayout
X jmp _XawInitializeWidgetSet
X jmp _XawListChange
X jmp _XawListHighlight
X jmp _XawListShowCurrent
X jmp _XawListUnhighlight
X jmp _XawPanedAllowResize
X jmp _XawPanedGetMinMax
X jmp _XawPanedGetNumSub
X jmp _XawPanedSetMinMax
X jmp _XawPanedSetRefigureMode
X jmp _XawScrollbarSetThumb
X jmp _XawSimpleMenuAddGlobalActions
X jmp _XawSimpleMenuClearActiveEntry
X jmp _XawSimpleMenuGetActiveEntry
X jmp _XawStringSourceCreate
X jmp _XawTextChangeOptions
X jmp _XawTextDisableRedisplay
X jmp _XawTextDisplay
X jmp _XawTextDisplayCaret
X jmp _XawTextEnableRedisplay
X jmp _XawTextGetInsertionPoint
X jmp _XawTextGetOptions
X jmp _XawTextGetSelectionPos
X jmp _XawTextGetSource
X jmp _XawTextInvalidate
X jmp _XawTextReplace
X jmp _XawTextSearch
X jmp _XawTextSetInsertionPoint
X jmp _XawTextSetLastPos
X jmp _XawTextSetSelection
X jmp _XawTextSetSelectionArray
X jmp _XawTextSetSource
X jmp _XawTextSinkClearToBackground
X jmp _XawTextSinkDisplayText
X jmp _XawTextSinkFindDistance
X jmp _XawTextSinkFindPosition
X jmp _XawTextSinkGetCursorBounds
X jmp _XawTextSinkInsertCursor
X jmp _XawTextSinkMaxHeight
X jmp _XawTextSinkMaxLines
X jmp _XawTextSinkResolve
X jmp _XawTextSinkSetTabs
X jmp _XawTextSourceConvertSelection
X jmp _XawTextSourceRead
X jmp _XawTextSourceReplace
X jmp _XawTextSourceScan
X jmp _XawTextSourceSearch
X jmp _XawTextSourceSetSelection
X jmp _XawTextTopPosition
X jmp _XawTextUnsetSelection
X jmp _XawToggleChangeRadioGroup
X jmp _XawToggleGetCurrent
X jmp _XawToggleSetCurrent
X jmp _XawToggleUnsetCurrent
X jmp __SetSelection
X jmp __XawTextAlterSelection
X jmp __XawTextBuildLineTable
X jmp __XawTextCheckResize
X jmp __XawTextClearAndCenterDisplay
X jmp __XawTextDoReplaceAction
X jmp __XawTextDoSearchAction
X jmp __XawTextExecuteUpdate
X jmp __XawTextGetSTRING
X jmp __XawTextGetText
X jmp __XawTextInsertFile
X jmp __XawTextInsertFileAction
X jmp __XawTextNeedsUpdating
X jmp __XawTextPopdownSearchAction
X jmp __XawTextPrepareToUpdate
X jmp __XawTextReplace
X jmp __XawTextSearch
X jmp __XawTextSelectionList
X jmp __XawTextSetField
X jmp __XawTextSetScrollBars
X jmp __XawTextSetSelection
X jmp __XawTextShowPosition
X jmp __XawTextVScroll
X jmp __XawTextZapSelection
X/
X/ Placeholder for other routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0112132891 libXaw_jump.s &&
chmod 0660 libXaw_jump.s ||
echo "restore of libXaw_jump.s failed"
set `wc -c libXaw_jump.s`;Wc_c=$1
if test "$Wc_c" != "2653"; then
echo original size 2653, current size $Wc_c
fi
# ============= libXext_jump.s ==============
echo "x - extracting libXext_jump.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > libXext_jump.s &&
X/
X/ Prefix file and jump table for libXext shared library
X/
X
X.text
X jmp _XMITMiscGetBugMode
X jmp _XMITMiscQueryExtension
X jmp _XMITMiscSetBugMode
X jmp _XMissingExtension
X jmp _XSetExtensionErrorHandler
X jmp _XShapeCombineMask
X jmp _XShapeCombineRectangles
X jmp _XShapeCombineRegion
X jmp _XShapeCombineShape
X jmp _XShapeGetRectangles
X jmp _XShapeInputSelected
X jmp _XShapeOffsetShape
X jmp _XShapeQueryExtension
X jmp _XShapeQueryExtents
X jmp _XShapeQueryVersion
X jmp _XShapeSelectInput
X jmp _XShmAttach
X jmp _XShmCreateImage
X jmp _XShmCreatePixmap
X jmp _XShmDetach
X jmp _XShmGetEventBase
X jmp _XShmGetImage
X jmp _XShmPutImage
X jmp _XShmQueryExtension
X jmp _XShmQueryVersion
X jmp _XTestFakeInput
X jmp _XTestFlush
X jmp _XTestGetInput
X jmp _XTestMovePointer
X jmp _XTestPressButton
X jmp _XTestPressKey
X jmp _XTestQueryInputSize
X jmp _XTestReset
X jmp _XTestStopInput
X jmp _XextAddDisplay
X jmp _XextCreateExtension
X jmp _XextDestroyExtension
X jmp _XextFindDisplay
X jmp _XextRemoveDisplay
X jmp _XmbufChangeBufferAttributes
X jmp _XmbufChangeWindowAttributes
X jmp _XmbufCreateBuffers
X jmp _XmbufCreateStereoWindow
X jmp _XmbufDestroyBuffers
X jmp _XmbufDisplayBuffers
X jmp _XmbufGetBufferAttributes
X jmp _XmbufGetScreenInfo
X jmp _XmbufGetVersion
X jmp _XmbufGetWindowAttributes
X jmp _XmbufQueryExtension
X jmp __XExtensionGlobalLoadDummyProcedure
X/
X/ Placeholder for other routines that might be needed
X/
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
X .byte 0,0,0,0,0
SHAR_EOF
$TOUCH -am 0112132891 libXext_jump.s &&
chmod 0660 libXext_jump.s ||
echo "restore of libXext_jump.s failed"
set `wc -c libXext_jump.s`;Wc_c=$1
if test "$Wc_c" != "1475"; then
echo original size 1475, current size $Wc_c
fi
# ============= Scrt0.s ==============
echo "x - extracting Scrt0.s (Text)"
sed 's/^X//' << 'SHAR_EOF' > Scrt0.s &&
X/
X/ Replacement startup file neede when using shared libraries
X/
X/ Author: pgd at compuram.bbt.se
X/
X .file "Scrt0.s"
X .text
X .globl start0, __nd_
X
X jmp start0
Xstart0:
X movl %eax,__nd_ / Fill in top of memory address
X xor %ebp,%ebp
X call __start
X push %eax / Exit status
X call __exit
X1:
X jmp 1b
X
SHAR_EOF
$TOUCH -am 0109171091 Scrt0.s &&
chmod 0660 Scrt0.s ||
echo "restore of Scrt0.s failed"
set `wc -c Scrt0.s`;Wc_c=$1
if test "$Wc_c" != "296"; then
echo original size 296, current size $Wc_c
fi
# ============= libX11_s.c ==============
echo "x - extracting libX11_s.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libX11_s.c &&
X/*
X * Prefix file and jump table for Xlib shared library
X *
X * Author: P.Garbha pgd at compuram.bbt.se
X */
X
Xchar **environ;
Xchar *_nd_;
Xint _fac;
Xint _acrtused;
X
X/*
X * Identifier to autload library
X */
Xchar __SHLIB__libX11_s;
X
X__JumpTabEnd()
X{
X}
X
Xvoid (*_shlib_exit)();
X
X/*
X * exit routine to use from within library
X */
Xexit(status)
X int status;
X{
X _shlib_exit(status);
X}
X
XlibX11_exit(status)
X{
X _shlib_exit(status);
X}
X
SHAR_EOF
$TOUCH -am 0116154691 libX11_s.c &&
chmod 0660 libX11_s.c ||
echo "restore of libX11_s.c failed"
set `wc -c libX11_s.c`;Wc_c=$1
if test "$Wc_c" != "418"; then
echo original size 418, current size $Wc_c
fi
# ============= hello.c ==============
echo "x - extracting hello.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > hello.c &&
X#include <stdio.h>
X
Xmain()
X{
X/* write(1, "Haribol!\n", 8); */
X printf("Haribol!!!\n");
X exit(0);
X}
SHAR_EOF
$TOUCH -am 1225114590 hello.c &&
chmod 0660 hello.c ||
echo "restore of hello.c failed"
set `wc -c hello.c`;Wc_c=$1
if test "$Wc_c" != "99"; then
echo original size 99, current size $Wc_c
fi
# ============= coffhdr.c ==============
echo "x - extracting coffhdr.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > coffhdr.c &&
X/*
X * Program to display coff headers
X */
X
X#include <stdio.h>
X#include <sys/types.h>
X#include <sys/fcntl.h>
X#include <sys/coff.h>
X#include <sys/a.out.h>
X#include <time.h>
X
Xchar *fname;
X
Xstruct filehdr fhdr; /* coff file header */
Xstruct aouthdr ahdr; /* a.out header */
Xstruct scnhdr *shdr; /* section headers */
X
Xmain(argc, argv)
X int argc;
X char **argv;
X{
X int fd;
X
X if (argc < 2)
X fname = "a.out";
X else
X fname = argv[1];
X fd = open(fname, O_RDONLY);
X if (fd == -1) {
X perror(fname);
X exit(1);
X }
X loadheaders(fd);
X showheaders();
X/* dumplibs(); */
X exit(0);
X}
X
Xloadheaders(fd)
X int fd;
X{
X if (read(fd, &fhdr, sizeof fhdr) != sizeof fhdr) {
X perror("coffhdr"); exit(1);
X }
X if (fhdr.f_magic == X_MAGIC) {
X fprintf(stderr, "file is an x.out type file\n");
X exit(1);
X }
X if (fhdr.f_magic != I386MAGIC) {
X fprintf(stderr, "Not a coff exec file\n");
X exit(1);
X }
X if (read(fd, &ahdr, sizeof ahdr) != sizeof ahdr) {
X perror("aouthdr"); exit(1);
X }
X if (fhdr.f_nscns) {
X shdr = (struct scnhdr *)calloc(sizeof(struct scnhdr), fhdr.f_nscns);
X if (shdr == NULL) {
X perror("coffhdr"); exit(1);
X }
X if (read(fd, (char *)shdr, fhdr.f_nscns * sizeof(struct scnhdr)) == -1) {
X perror("scnhdr"); exit(1);
X }
X } else
X shdr = NULL;
X}
X
Xshowheaders()
X{
X int i;
X
X printf("File: %s\n", fname);
X printf("Created: %s\n", asctime(localtime(&fhdr.f_timdat)));
X printf("Symbol table addr: %06x\n", fhdr.f_symptr);
X printf("Number of symbols: %d\n", fhdr.f_nsyms);
X printf("Flags: \n");
X if (fhdr.f_flags & F_RELFLG)
X printf("\trelocation info stripped from file\n");
X if (fhdr.f_flags & F_EXEC)
X printf("\tfile is executable\n");
X if (fhdr.f_flags & F_LNNO)
X printf("\tline numbers stripped from file\n");
X if (fhdr.f_flags & F_LSYMS)
X printf("\tlocal symbols stripped from file\n");
X if (fhdr.f_flags & F_MINMAL)
X printf("\tthis is a minimal object file ('.m') output of fextract\n");
X if (fhdr.f_flags & F_UPDATE)
X printf("\tthis is a fully bound update file, output of ogen\n");
X if (fhdr.f_flags & F_SWABD)
X printf("\tthis file has had its bytes swabbed (in names)\n");
X if (fhdr.f_flags & F_AR16WR)
X printf("\tthis file has the byte ordering of an AR16WR\n");
X if (fhdr.f_flags & F_AR32WR)
X printf("\tthis file has the byte ordering of an AR32WR machine\n");
X if (fhdr.f_flags & F_AR32W)
X printf("\tthis file has the byte ordering of an AR32W machine\n");
X if (fhdr.f_flags & F_PATCH)
X printf("\tfile contains 'patch' list in optional header\n");
X if (fhdr.f_flags & F_NODF)
X printf("\t(minimal file only) no decision functions for replaced functions\n");
X putchar('\n');
X printf("version: %d\n", (int)ahdr.vstamp);
X printf("Text size: %x\n", ahdr.tsize);
X printf("Data size: %x\n", ahdr.dsize);
X printf("BSS size: %x\n", ahdr.bsize);
X printf("Entry address: %x\n", ahdr.entry);
X printf("Text base: %x\n", ahdr.text_start);
X printf("Data base: %x\n", ahdr.data_start);
X putchar('\n');
X
X/*
X "nn ssssssss xxxxxxxx xxxxxxxx xxxxxx xxxxxx xxxxxx xxxxxx ddddd ddddd */
Xprintf("seg name p.addr v.addr size data reloc lnos # rel # lno flags\n");
X for (i = 0; i < fhdr.f_nscns; i++) {
X printf("%2d %8s %08x %08x %06x %5x %5x %5x %5x %5d %5d ",
X i, shdr[i].s_name,
X shdr[i].s_paddr, shdr[i].s_vaddr, shdr[i].s_size,
X shdr[i].s_scnptr, shdr[i].s_relptr, shdr[i].s_lnnoptr,
X shdr[i].s_nreloc, shdr[i].s_nlnno);
X if (shdr[i].s_flags & STYP_REG)
X printf("regular");
X if (shdr[i].s_flags & STYP_DSECT)
X printf("dummy");
X if (shdr[i].s_flags & STYP_NOLOAD)
X printf("noload");
X if (shdr[i].s_flags & STYP_GROUP)
X printf("grouped");
X if (shdr[i].s_flags & STYP_PAD)
X printf("padding");
X if (shdr[i].s_flags & STYP_COPY)
X printf("copy");
X if (shdr[i].s_flags & STYP_INFO)
X printf("comment");
X if (shdr[i].s_flags & STYP_LIB)
X printf("lib");
X if (shdr[i].s_flags & STYP_OVER)
X printf("overlay");
X if (shdr[i].s_flags & STYP_TEXT)
X printf("text");
X if (shdr[i].s_flags & STYP_DATA)
X printf("data");
X if (shdr[i].s_flags & STYP_BSS)
X printf("bss");
X putchar('\n');
X
X }
X}
X
Xdumplibs()
X{
X int i;
X
X for (i = 0; i < fhdr.f_nscns; i++) {
X if ((shdr[i].s_flags & STYP_LIB) == 0)
X continue;
X }
X}
SHAR_EOF
$TOUCH -am 1224131090 coffhdr.c &&
chmod 0660 coffhdr.c ||
echo "restore of coffhdr.c failed"
set `wc -c coffhdr.c`;Wc_c=$1
if test "$Wc_c" != "4277"; then
echo original size 4277, current size $Wc_c
fi
echo "End of part 2, continue with part 3"
exit 0
More information about the Alt.sources
mailing list