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