/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1993, 1999 by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%W% %E% SMI"
#include <setjmp.h>
#include <limits.h>
#include <string.h>
#include <fw.h>
#include <fw_rpc.h>
#include "snoop.h"
extern char *dlc_header;
static char *procnames_short[] = {
"Null", /* 0 */
"INVOKE", /* 1 */
"MORE", /* 2 */
"KILL", /* 3 */
};
static char *procnames_long[] = {
"Null procedure", /* 0 */
"Invoke operation", /* 1 */
"More data", /* 2 */
"Kill operation", /* 3 */
};
enum Rec_type {
REC_TYPE_NORM = 0,
};
void
int flags,
int type,
int xid,
int vers,
int proc,
char *data,
int len)
{
char *line;
bool_t b;
Fw_err e;
return;
return;
}
line = get_sum_line();
"SOLARNET C %s",
switch (proc) {
case FW_INVOKE:
}
thresh = getxdr_u_long();
else
break;
case FW_MORE:
thresh = getxdr_u_long();
else
break;
case FW_KILL:
break;
default:
break;
}
} else {
b = getxdr_bool();
if (b) {
e = getxdr_enum();
if (e == FW_ERR_FW)
else if (e == FW_ERR_OP)
else
if (e != FW_ERR_NONE) {
(void) getxdr_bool();
}
} else {
}
b = getxdr_bool();
if (b) {
} else {
}
}
}
len);
show_space();
return;
}
switch (proc) {
case FW_INVOKE:
(void) showxdr_u_long("Threshold: %lu rows");
(void) showxdr_context("Context: %s");
b = getxdr_bool();
if (!b) {
"No input arguments");
break;
}
(void) getxdr_bool();
do {
rt = getxdr_enum();
if (rt == REC_TYPE_NORM) {
if (new_row) {
"Row %d", ++row);
new_row = 0;
}
(void) getxdr_string(buff,
CTXTLEN);
(void) getxdr_string(op,
CTXTLEN);
} else if (rt == REC_TYPE_EOR) {
new_row = 1;
}
} while (rt != REC_TYPE_EOF);
break;
case FW_MORE:
(void) showxdr_context("Context: %s");
(void) showxdr_u_long("Threshold: %lu rows");
break;
case FW_KILL:
(void) showxdr_context("Context: %s");
break;
default:
break;
}
} else {
b = getxdr_bool();
if (b) {
e = getxdr_enum();
if (e == FW_ERR_FW) {
"Framework error code %lu");
} else if (e == FW_ERR_OP) {
"Operation error code %lu");
} else {
showxdr_u_long("No error %*lu");
}
(void) getxdr_bool();
if (e != FW_ERR_NONE) {
"Error message: %s", buff);
} else {
}
} else {
"Operation was successful");
}
b = getxdr_bool();
if (b) {
showxdr_u_long("Output rows: %lu");
(void) getxdr_bool();
do {
rt = getxdr_enum();
if (rt == REC_TYPE_NORM) {
if (new_row) {
"Row %d", ++row);
new_row = 0;
}
(void) getxdr_string(buff,
CTXTLEN);
(void) getxdr_string(op,
CTXTLEN);
} else if (rt == REC_TYPE_EOR) {
new_row = 1;
}
} while (rt != REC_TYPE_EOF);
} else {
}
}
show_trailer();
}
}