re-format
This commit is contained in:
parent
634ac82d1c
commit
94f842e473
|
@ -47,7 +47,6 @@ static char copyright[] =
|
||||||
#include <stropts.h>
|
#include <stropts.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local static values
|
* Local static values
|
||||||
*/
|
*/
|
||||||
|
@ -60,7 +59,6 @@ static int Sd = -1; /* stream device descriptor; not open
|
||||||
* if -1 */
|
* if -1 */
|
||||||
static char ErrMsg[GET_MIB2_ERRMSGL]; /* error message buffer */
|
static char ErrMsg[GET_MIB2_ERRMSGL]; /* error message buffer */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* close_mib2() - close MIB2 access
|
* close_mib2() - close MIB2 access
|
||||||
*
|
*
|
||||||
|
@ -72,10 +70,7 @@ static char ErrMsg[GET_MIB2_ERRMSGL]; /* error message buffer */
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
close_mib2(
|
close_mib2(char **errmsg)
|
||||||
char **errmsg /* error message buffer return
|
|
||||||
* address */
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
*errmsg = ErrMsg;
|
*errmsg = ErrMsg;
|
||||||
if (Sd < 0) {
|
if (Sd < 0) {
|
||||||
|
@ -115,14 +110,10 @@ close_mib2(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
get_mib2(
|
get_mib2(struct opthdr **opt,
|
||||||
struct opthdr **opt, /* opthdr struct pointer return
|
char **data,
|
||||||
* address */
|
int *datalen,
|
||||||
char **data, /* data buffer return address */
|
char **errmsg)
|
||||||
int *datalen, /* data length return address */
|
|
||||||
char **errmsg /* error message buffer return
|
|
||||||
* address */
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
static struct T_optmgmt_ack *a; /* message ACK pointer */
|
static struct T_optmgmt_ack *a; /* message ACK pointer */
|
||||||
static struct strbuf c; /* streams control buffer */
|
static struct strbuf c; /* streams control buffer */
|
||||||
|
@ -135,7 +126,7 @@ get_mib2(
|
||||||
int rc; /* reply code */
|
int rc; /* reply code */
|
||||||
|
|
||||||
*errmsg = ErrMsg;
|
*errmsg = ErrMsg;
|
||||||
/*
|
/*
|
||||||
* If MIB2 access isn't open, open it and issue the preliminary stream
|
* If MIB2 access isn't open, open it and issue the preliminary stream
|
||||||
* messages.
|
* messages.
|
||||||
*/
|
*/
|
||||||
|
@ -144,8 +135,9 @@ get_mib2(
|
||||||
/*
|
/*
|
||||||
* Open access. Return on error.
|
* Open access. Return on error.
|
||||||
*/
|
*/
|
||||||
if ((err = open_mib2(errmsg)))
|
if ((err = open_mib2(errmsg))) {
|
||||||
return(err);
|
return(err);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Set up message request and option.
|
* Set up message request and option.
|
||||||
*/
|
*/
|
||||||
|
@ -185,7 +177,7 @@ get_mib2(
|
||||||
e = (struct T_error_ack *)Smb;
|
e = (struct T_error_ack *)Smb;
|
||||||
o = (struct opthdr *)&Smb[sizeof(struct T_optmgmt_ack)];
|
o = (struct opthdr *)&Smb[sizeof(struct T_optmgmt_ack)];
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Get the next (first) reply message.
|
* Get the next (first) reply message.
|
||||||
*/
|
*/
|
||||||
f = 0;
|
f = 0;
|
||||||
|
@ -194,57 +186,64 @@ get_mib2(
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return(GET_MIB2_ERR_GETMSGR);
|
return(GET_MIB2_ERR_GETMSGR);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Check for end of data.
|
* Check for end of data.
|
||||||
*/
|
*/
|
||||||
if (rc == 0
|
if (rc == 0
|
||||||
&& c.len >= sizeof(struct T_optmgmt_ack)
|
&& c.len >= sizeof(struct T_optmgmt_ack)
|
||||||
&& a->PRIM_type == T_OPTMGMT_ACK
|
&& a->PRIM_type == T_OPTMGMT_ACK
|
||||||
&& a->MGMT_flags == T_SUCCESS
|
&& a->MGMT_flags == T_SUCCESS
|
||||||
&& o->len == 0) {
|
&& o->len == 0)
|
||||||
|
{
|
||||||
err = close_mib2(errmsg);
|
err = close_mib2(errmsg);
|
||||||
if (err)
|
if (err) {
|
||||||
return(err);
|
return(err);
|
||||||
|
}
|
||||||
return(GET_MIB2_EOD);
|
return(GET_MIB2_EOD);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Check for error.
|
* Check for error.
|
||||||
*/
|
*/
|
||||||
if (c.len >= sizeof(struct T_error_ack)
|
if (c.len >= sizeof(struct T_error_ack)
|
||||||
&& e->PRIM_type == T_ERROR_ACK) {
|
&& e->PRIM_type == T_ERROR_ACK)
|
||||||
|
{
|
||||||
(void) sprintf(ErrMsg,
|
(void) sprintf(ErrMsg,
|
||||||
"get_mib2: T_ERROR_ACK: len=%d, TLI=%#x, UNIX=%#x",
|
"get_mib2: T_ERROR_ACK: len=%d, TLI=%#x, UNIX=%#x",
|
||||||
c.len, (int)e->TLI_error, (int)e->UNIX_error);
|
c.len, (int)e->TLI_error, (int)e->UNIX_error);
|
||||||
return(GET_MIB2_ERR_ACK);
|
return(GET_MIB2_ERR_ACK);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Check for no data.
|
* Check for no data.
|
||||||
*/
|
*/
|
||||||
if (rc != MOREDATA
|
if (rc != MOREDATA
|
||||||
|| c.len < sizeof(struct T_optmgmt_ack)
|
|| c.len < sizeof(struct T_optmgmt_ack)
|
||||||
|| a->PRIM_type != T_OPTMGMT_ACK
|
|| a->PRIM_type != T_OPTMGMT_ACK
|
||||||
|| a->MGMT_flags != T_SUCCESS) {
|
|| a->MGMT_flags != T_SUCCESS)
|
||||||
|
{
|
||||||
(void) sprintf(ErrMsg,
|
(void) sprintf(ErrMsg,
|
||||||
"get_mib2: T_OPTMGMT_ACK: rc=%d len=%d type=%#x flags=%#x",
|
"get_mib2: T_OPTMGMT_ACK: "
|
||||||
|
"rc=%d len=%d type=%#x flags=%#x",
|
||||||
rc, c.len, (int)a->PRIM_type, (int)a->MGMT_flags);
|
rc, c.len, (int)a->PRIM_type, (int)a->MGMT_flags);
|
||||||
return(GET_MIB2_ERR_NODATA);
|
return(GET_MIB2_ERR_NODATA);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Allocate (or enlarge) the data buffer.
|
* Allocate (or enlarge) the data buffer.
|
||||||
*/
|
*/
|
||||||
if (o->len >= Dbl) {
|
if (o->len >= Dbl) {
|
||||||
Dbl = o->len;
|
Dbl = o->len;
|
||||||
if (Db == NULL)
|
if (Db == NULL) {
|
||||||
Db = (char *)malloc(Dbl);
|
Db = (char *)malloc(Dbl);
|
||||||
else
|
}
|
||||||
|
else {
|
||||||
Db = (char *)realloc(Db, Dbl);
|
Db = (char *)realloc(Db, Dbl);
|
||||||
|
}
|
||||||
if (Db == NULL) {
|
if (Db == NULL) {
|
||||||
(void) sprintf(ErrMsg,
|
(void) sprintf(ErrMsg,
|
||||||
"get_mib2: no space for %d byte data buffer", Dbl);
|
"get_mib2: no space for %d byte data buffer", Dbl);
|
||||||
return(GET_MIB2_ERR_NOSPC);
|
return(GET_MIB2_ERR_NOSPC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Get the data part of the message -- the MIB2 part.
|
* Get the data part of the message -- the MIB2 part.
|
||||||
*/
|
*/
|
||||||
d.maxlen = o->len;
|
d.maxlen = o->len;
|
||||||
|
@ -262,7 +261,7 @@ get_mib2(
|
||||||
rc, d.maxlen, d.len, strerror(errno));
|
rc, d.maxlen, d.len, strerror(errno));
|
||||||
return(GET_MIB2_ERR_GETMSGD);
|
return(GET_MIB2_ERR_GETMSGD);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Compose a successful return.
|
* Compose a successful return.
|
||||||
*/
|
*/
|
||||||
*opt = o;
|
*opt = o;
|
||||||
|
@ -283,20 +282,17 @@ get_mib2(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
open_mib2(
|
open_mib2(char **errmsg)
|
||||||
char **errmsg /* error message buffer return
|
|
||||||
* address */
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
*errmsg = ErrMsg;
|
*errmsg = ErrMsg;
|
||||||
/*
|
/*
|
||||||
* It's an error if the stream device is already open.
|
* It's an error if the stream device is already open.
|
||||||
*/
|
*/
|
||||||
if (Sd >= 0) {
|
if (Sd >= 0) {
|
||||||
(void) strcpy(ErrMsg, "open_mib2: MIB2 access already open");
|
(void) strcpy(ErrMsg, "open_mib2: MIB2 access already open");
|
||||||
return(GET_MIB2_ERR_OPEN);
|
return(GET_MIB2_ERR_OPEN);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Open the ARP stream device, push TCP and UDP on it.
|
* Open the ARP stream device, push TCP and UDP on it.
|
||||||
*/
|
*/
|
||||||
if ((Sd = open(GET_MIB2_ARPDEV, O_RDWR, 0600)) < 0) {
|
if ((Sd = open(GET_MIB2_ARPDEV, O_RDWR, 0600)) < 0) {
|
||||||
|
@ -314,20 +310,22 @@ open_mib2(
|
||||||
GET_MIB2_UDPSTREAM, strerror(errno));
|
GET_MIB2_UDPSTREAM, strerror(errno));
|
||||||
return(GET_MIB2_ERR_UDPPUSH);
|
return(GET_MIB2_ERR_UDPPUSH);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Allocate a stream message buffer.
|
* Allocate a stream message buffer.
|
||||||
*/
|
*/
|
||||||
Smbl = sizeof(struct opthdr) + sizeof(struct T_optmgmt_req);
|
Smbl = sizeof(struct opthdr) + sizeof(struct T_optmgmt_req);
|
||||||
if (Smbl < (sizeof (struct opthdr) + sizeof(struct T_optmgmt_ack)))
|
if (Smbl < (sizeof (struct opthdr) + sizeof(struct T_optmgmt_ack))) {
|
||||||
Smbl = sizeof (struct opthdr) + sizeof(struct T_optmgmt_ack);
|
Smbl = sizeof (struct opthdr) + sizeof(struct T_optmgmt_ack);
|
||||||
if (Smbl < sizeof(struct T_error_ack))
|
}
|
||||||
|
if (Smbl < sizeof(struct T_error_ack)) {
|
||||||
Smbl = sizeof(struct T_error_ack);
|
Smbl = sizeof(struct T_error_ack);
|
||||||
|
}
|
||||||
if ((Smb = (char *)malloc(Smbl)) == NULL) {
|
if ((Smb = (char *)malloc(Smbl)) == NULL) {
|
||||||
(void) strcpy(ErrMsg,
|
(void) strcpy(ErrMsg,
|
||||||
"open_mib2: no space for stream message buffer");
|
"open_mib2: no space for stream message buffer");
|
||||||
return(GET_MIB2_ERR_NOSPC);
|
return(GET_MIB2_ERR_NOSPC);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* All is OK. Return that indication.
|
* All is OK. Return that indication.
|
||||||
*/
|
*/
|
||||||
return(GET_MIB2_OK);
|
return(GET_MIB2_OK);
|
||||||
|
|
Loading…
Reference in New Issue