summaryrefslogtreecommitdiff
path: root/prtype.c
diff options
context:
space:
mode:
authorStuart Kreitman <stuart.kreitman@sun.com>2008-09-11 18:28:24 -0700
committerAlan Coopersmith <alan.coopersmith@sun.com>2008-09-11 18:28:24 -0700
commitdbf94a72289efaa89fdab27b4cf0608994ebd0a1 (patch)
tree091e85df11a6d0b61f512d2023c9aa0d13641840 /prtype.c
parent306057f2475b216fb73686bcb0003355cf88944a (diff)
downloadxscope-dbf94a72289efaa89fdab27b4cf0608994ebd0a1.tar.gz
Merge Sun's version of xscope in
Conversion to ANSI C SysVR4 support Conversion of networking code to use xtrans
Diffstat (limited to 'prtype.c')
-rw-r--r--prtype.c232
1 files changed, 122 insertions, 110 deletions
diff --git a/prtype.c b/prtype.c
index 685943a..b892b51 100644
--- a/prtype.c
+++ b/prtype.c
@@ -23,11 +23,40 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
* *
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ *
* ************************************************** */
#include "scope.h"
#include "x11.h"
+static void DumpHexBuffer(unsigned char *buf, long n);
+
/*
For each of the types we need a way to print that type.
Types are of varieties:
@@ -47,7 +76,7 @@
/* print representation of a character for debugging */
-char *printrep (c)
+static char *printrep (c)
unsigned short c;
{
static char pr[8];
@@ -62,7 +91,7 @@ char *printrep (c)
else if (c < 127)
{
/* printing characters */
- pr[0] = c;
+ pr[0] = (char) c;
pr[1] = '\0';
}
else if (c == 127)
@@ -81,7 +110,7 @@ char *printrep (c)
else
{
/* very large number -- print as 0xffff - 4 digit hex */
- (void)sprintf(pr, "0x%04x", c);
+ sprintf(pr, "0x%04x", c);
}
return(pr);
}
@@ -106,6 +135,7 @@ char *printrep (c)
static char Leader[MaxIndent + 1];
static short CurrentLevel = 0;
+void
SetIndentLevel(which)
short which;
{
@@ -126,13 +156,14 @@ SetIndentLevel(which)
CurrentLevel = which;
}
+static void
ModifyIndentLevel(amount)
short amount;
{
SetIndentLevel(CurrentLevel + amount);
}
-short SizeofLeader ()
+static short SizeofLeader ()
{
return (CurrentLevel * 8);
}
@@ -144,6 +175,7 @@ short SizeofLeader ()
/* if we want verbose enough output, we will dump the buffer in hex */
+void
DumpItem(name, fd, buf, n)
char *name;
FD fd;
@@ -170,9 +202,8 @@ PrintINT8(buf)
/* print a INT8 -- 8-bit signed integer */
short n = IByte (buf);
if (n > 127)
- n = n - 256;
- fprintf(stdout, "%d", n);
- return(1);
+ n = 256 - n;
+ return fprintf(stdout, "%d", n);
}
PrintINT16(buf)
@@ -181,9 +212,8 @@ PrintINT16(buf)
/* print a INT16 -- 16-bit signed integer */
long n = IShort (buf);
if (n > 32767)
- n = n - 65536;
- fprintf(stdout, "%d", n);
- return(2);
+ n = 65536 - n;
+ return fprintf(stdout, "%d", n);
}
PrintINT32(buf)
@@ -191,8 +221,7 @@ PrintINT32(buf)
{
/* print a INT32 -- 32-bit signed integer */
long n = ILong (buf);
- fprintf(stdout, "%d", n);
- return(4);
+ return fprintf(stdout, "%d", n);
}
/* ************************************************************ */
@@ -201,9 +230,8 @@ PrintCARD8(buf)
unsigned char *buf;
{
/* print a CARD8 -- 8-bit unsigned integer */
- short n = IByte (buf);
- fprintf(stdout, "%02x", (unsigned)(n & 0xff));
- return(1);
+ unsigned short n = IByte (buf);
+ return fprintf(stdout, "%02x", (unsigned)(n & 0xff));
}
PrintCARD16(buf)
@@ -211,8 +239,7 @@ PrintCARD16(buf)
{
/* print a CARD16 -- 16-bit unsigned integer */
unsigned long n = IShort (buf);
- fprintf(stdout, "%04x", (unsigned)(n & 0xffff));
- return(2);
+ return fprintf(stdout, "%04x", (unsigned)(n & 0xffff));
}
PrintCARD32(buf)
@@ -249,8 +276,8 @@ PrintCHAR8(buf)
PrintSTRING16(buf)
unsigned char *buf;
{
- /* print a CHAR2B -- 16-bit character which is never byte-swapped */
- unsigned short n = IChar2B (buf);
+ /* print a CHAR16 -- 16-bit character */
+ unsigned short n = IShort (buf);
fprintf(stdout, "%s", printrep(n));
return(1);
}
@@ -288,12 +315,11 @@ PrintWINDOWD(buf)
/* print a WINDOWD -- CARD32 plus 0 = PointerWindow, 1 = InputFocus */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "PointerWindow");
+ return fprintf(stdout, "PointerWindow");
else if (n == 1)
- fprintf(stdout, "InputFocus");
+ return fprintf(stdout, "InputFocus");
else
- (void)PrintWINDOW(buf);
- return(4);
+ return PrintWINDOW(buf);
}
PrintWINDOWNR(buf)
@@ -302,12 +328,11 @@ PrintWINDOWNR(buf)
/* print a WINDOWNR -- CARD32 plus 0 = None, 1 = PointerRoot */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else if (n == 1)
- fprintf(stdout, "PointerRoot");
+ return fprintf(stdout, "PointerRoot");
else
- (void)PrintWINDOW(buf);
- return(4);
+ return PrintWINDOW(buf);
}
@@ -317,10 +342,9 @@ PrintPIXMAP(buf)
/* print a PIXMAP -- CARD32 plus 0 = None */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else
- fprintf(stdout, "PXM %08x", n);
- return(4);
+ return fprintf(stdout, "PXM %08x", n);
}
PrintPIXMAPNPR(buf)
@@ -329,12 +353,11 @@ PrintPIXMAPNPR(buf)
/* print a PIXMAPNPR -- CARD32 plus 0 = None, 1 = ParentRelative */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else if (n == 1)
- fprintf(stdout, "ParentRelative");
+ return fprintf(stdout, "ParentRelative");
else
- PrintPIXMAP(buf);
- return(4);
+ return PrintPIXMAP(buf);
}
PrintPIXMAPC(buf)
@@ -343,10 +366,9 @@ PrintPIXMAPC(buf)
/* print a PIXMAPC -- CARD32 plus 0 = CopyFromParent */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "CopyFromParent");
+ return fprintf(stdout, "CopyFromParent");
else
- PrintPIXMAP(buf);
- return(4);
+ return PrintPIXMAP(buf);
}
@@ -356,10 +378,9 @@ PrintCURSOR(buf)
/* print a CURSOR -- CARD32 plus 0 = None */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else
- fprintf(stdout, "CUR %08x", n);
- return(4);
+ return fprintf(stdout, "CUR %08x", n);
}
@@ -369,10 +390,9 @@ PrintFONT(buf)
/* print a FONT -- CARD32 plus 0 = None */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else
- fprintf(stdout, "FNT %08x", n);
- return(4);
+ return fprintf(stdout, "FNT %08x", n);
}
@@ -381,8 +401,7 @@ PrintGCONTEXT(buf)
{
/* print a GCONTEXT -- CARD32 */
long n = ILong (buf);
- fprintf(stdout, "GXC %08x", n);
- return(4);
+ return fprintf(stdout, "GXC %08x", n);
}
@@ -404,10 +423,9 @@ PrintCOLORMAPC(buf)
/* print a COLORMAPC -- CARD32 plus 0 = CopyFromParent */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "CopyFromParent");
+ return fprintf(stdout, "CopyFromParent");
else
- (void)PrintCOLORMAP(buf);
- return(4);
+ return PrintCOLORMAP(buf);
}
@@ -416,8 +434,7 @@ PrintDRAWABLE(buf)
{
/* print a DRAWABLE -- CARD32 */
long n = ILong (buf);
- fprintf(stdout, "DWB %08x", n);
- return(4);
+ return fprintf(stdout, "DWB %08x", n);
}
PrintFONTABLE(buf)
@@ -425,15 +442,14 @@ PrintFONTABLE(buf)
{
/* print a FONTABLE -- CARD32 */
long n = ILong (buf);
- fprintf(stdout, "FTB %08x", n);
- return(4);
+ return fprintf(stdout, "FTB %08x", n);
}
/* ************************************************************ */
#define NumberofAtoms 68
-char *AtomTable[NumberofAtoms + 1] =
+static char *AtomTable[NumberofAtoms + 1] =
{
"NONE", "PRIMARY", "SECONDARY", "ARC", "ATOM", "BITMAP", "CARDINAL",
"COLORMAP", "CURSOR", "CUT_BUFFER0", "CUT_BUFFER1", "CUT_BUFFER2",
@@ -473,10 +489,9 @@ PrintATOMT(buf)
/* print a ATOMT -- CARD32 plus 0 = AnyPropertyType */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "AnyPropertyType");
+ return fprintf(stdout, "AnyPropertyType");
else
- (void)PrintATOM(buf);
- return(4);
+ return PrintATOM(buf);
}
@@ -486,10 +501,9 @@ PrintVISUALID(buf)
/* print a VISUALID -- CARD32 plus 0 = None */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "None");
+ return fprintf(stdout, "None");
else
- fprintf(stdout, "VIS %08x", n);
- return(4);
+ return fprintf(stdout, "VIS %08x", n);
}
PrintVISUALIDC(buf)
@@ -498,10 +512,9 @@ PrintVISUALIDC(buf)
/* print a VISUALIDC -- CARD32 plus 0 = CopyFromParent */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "CopyFromParent");
+ return fprintf(stdout, "CopyFromParent");
else
- PrintVISUALID(buf);
- return(4);
+ return PrintVISUALID(buf);
}
@@ -511,10 +524,9 @@ PrintTIMESTAMP(buf)
/* print a TIMESTAMP -- CARD32 plus 0 as the current time */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "CurrentTime");
+ return fprintf(stdout, "CurrentTime");
else
- fprintf(stdout, "TIM %08x", n);
- return(4);
+ return fprintf(stdout, "TIM %08x", n);
}
@@ -524,10 +536,9 @@ PrintRESOURCEID(buf)
/* print a RESOURCEID -- CARD32 plus 0 = AllTemporary */
long n = ILong (buf);
if (n == 0)
- fprintf(stdout, "AllTemporary");
+ return fprintf(stdout, "AllTemporary");
else
- fprintf(stdout, "RID %08x", n);
- return(4);
+ return fprintf(stdout, "RID %08x", n);
}
@@ -555,10 +566,9 @@ PrintKEYCODEA(buf)
/* print a KEYCODEA -- CARD8 plus 0 = AnyKey */
long n = IByte (buf);
if (n == 0)
- fprintf(stdout, "AnyKey");
+ return fprintf(stdout, "AnyKey");
else
- (void)PrintKEYCODE(buf);
- return(1);
+ return PrintKEYCODE(buf);
}
@@ -567,8 +577,7 @@ PrintBUTTON(buf)
{
/* print a BUTTON -- CARD8 */
unsigned short n = IByte (buf);
- fprintf(stdout, "%d (%s)", n, printrep(n));
- return(1);
+ return fprintf(stdout, "%d (%s)", n, printrep(n));
}
PrintBUTTONA(buf)
@@ -577,10 +586,9 @@ PrintBUTTONA(buf)
/* print a BUTTONA -- CARD8 plus 0 = AnyButton */
long n = IByte (buf);
if (n == 0)
- fprintf(stdout, "AnyButton");
+ return fprintf(stdout, "AnyButton");
else
- PrintBUTTON(buf);
- return(1);
+ return PrintBUTTON(buf);
}
@@ -595,10 +603,10 @@ PrintEVENTFORM(buf)
/* ************************************************************ */
-PrintENUMERATED(buf, length, ValueList)
- unsigned char *buf;
- short length;
- struct ValueListEntry *ValueList;
+PrintENUMERATED(
+ unsigned char *buf,
+ short length,
+ struct ValueListEntry *ValueList)
{
long n;
struct ValueListEntry *p;
@@ -615,18 +623,17 @@ PrintENUMERATED(buf, length, ValueList)
p = p->Next;
if (p != NULL)
- fprintf(stdout, "%s", p->Name);
+ return fprintf(stdout, "%s", p->Name);
else
- fprintf(stdout, "**INVALID** (%d)", n);
- return(length);
+ return fprintf(stdout, "**INVALID** (%d)", n);
}
/* ************************************************************ */
-PrintSET(buf, length, ValueList)
- unsigned char *buf;
- short length;
- struct ValueListEntry *ValueList;
+PrintSET(
+ unsigned char *buf,
+ short length,
+ struct ValueListEntry *ValueList)
{
unsigned long n;
struct ValueListEntry *p;
@@ -665,10 +672,9 @@ PrintSET(buf, length, ValueList)
}
if (MatchesAll)
- fprintf(stdout, "<ALL>");
+ return fprintf(stdout, "<ALL>");
else if (!FoundOne)
- fprintf(stdout, "0");
- return(length);
+ return fprintf(stdout, "0");
}
@@ -677,6 +683,7 @@ PrintSET(buf, length, ValueList)
/* */
/* ************************************************************ */
+void
PrintField(buf, start, length, FieldType, name)
unsigned char *buf;
short start;
@@ -716,7 +723,7 @@ PrintField(buf, start, length, FieldType, name)
break;
}
fprintf(stdout, "\n");
- (void)fflush(stdout);
+ fflush(stdout);
}
/* ************************************************************ */
@@ -778,7 +785,7 @@ long PrintList(buf, number, ListType, name)
/* print a list of STRs. Similar to PrintList
They start at <buf>. There are <number> things in the list */
-PrintListSTR(buf, number, name)
+long PrintListSTR(buf, number, name)
unsigned char *buf;
long number;
char *name;
@@ -788,11 +795,11 @@ PrintListSTR(buf, number, name)
long sum;
if (number == 0)
- return;
+ return(0);
fprintf(stdout, "%s%20s: (%d)\n", Leader, name, number);
if (Verbose < 2)
- return;
+ return(0);
ModifyIndentLevel(1);
sum = 0;
@@ -806,7 +813,7 @@ PrintListSTR(buf, number, name)
}
ModifyIndentLevel(-1);
- return;
+ return(sum);
}
@@ -826,7 +833,7 @@ PrintBytes(buf, number, name)
short column;
if (number == 0)
- return;
+ return(0);
fprintf(stdout, "%s%20s: ", Leader, name);
column = SizeofLeader() + 25;
@@ -844,7 +851,7 @@ PrintBytes(buf, number, name)
}
fprintf(stdout, "\n");
- return;
+ return(number);
}
@@ -858,42 +865,45 @@ PrintBytes(buf, number, name)
PrintString8(buf, number, name)
unsigned char buf[];
- long number;
+ short number;
char *name;
{
- long i;
+ short i;
if (number == 0)
- return;
+ return(0);
fprintf(stdout, "%s%20s: \"", Leader, name);
for (i = 0; i < number; i++)
fprintf(stdout, "%s", printrep(buf[i]));
fprintf(stdout, "\"\n");
+
+ return(number);
}
-/* print a String of CHAR2B -- 16-bit characters */
+/* print a String of CHAR16 -- 16-bit characters */
PrintString16(buf, number, name)
unsigned char buf[];
- long number;
+ short number;
char *name;
{
- long i;
- long j;
+ short i;
unsigned short c;
if (number == 0)
- return;
+ return(0);
fprintf(stdout, "%s%20s: \"", Leader, name);
- for (i = 0, j = 0; i < number; i += 1, j += 2)
+ for (i = 0; i < number; i += 2)
{
- c = IChar2B(&buf[j]);
+ c = IShort(&buf[i]);
fprintf(stdout, "%s", printrep(c));
}
fprintf(stdout, "\"\n");
+
+ return(number);
}
/* ************************************************************ */
@@ -909,6 +919,7 @@ PrintString16(buf, number, name)
(2) A list of values.
*/
+void
PrintValues(control, clength, ctype, values, name)
unsigned char *control;
short clength;
@@ -970,7 +981,7 @@ PrintTextList8(buf, length, name)
if (n != 255)
{
PrintField(buf, 1, 1, INT8, "delta");
- PrintString8(&buf[2], (long)n, "text item 8 string");
+ PrintString8(&buf[2], n, "text item 8 string");
buf += n + 2;
length -= n + 2;
}
@@ -997,7 +1008,7 @@ PrintTextList16(buf, length, name)
if (n != 255)
{
PrintField(buf, 1, 1, INT8, "delta");
- PrintString16(&buf[2], (long)n, "text item 16 string");
+ PrintString16(&buf[2], n, "text item 16 string");
buf += n + 2;
length -= n + 2;
}
@@ -1018,6 +1029,7 @@ PrintTextList16(buf, length, name)
#define MAXline 78
+static void
DumpHexBuffer(buf, n)
unsigned char *buf;
long n;
@@ -1030,7 +1042,7 @@ DumpHexBuffer(buf, n)
for (i = 0; i < n; i++)
{
/* get the hex representations */
- (void)sprintf(h, "%02x",(0xff & buf[i]));
+ sprintf(h, "%02x",(0xff & buf[i]));
/* check if these characters will fit on this line */
if ((column + strlen(h) + 1) > MAXline)