int netsnmp_transport_send(netsnmp_transport *t, void *packet, int length, void **opaque, int *olength) { int dumpPacket, debugLength; if ((NULL == t) || (NULL == t->f_send)) { DEBUGMSGTL(("transport:pkt:send", "NULL transport or send function\n")); return SNMPERR_GENERR; } dumpPacket = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_DUMP_PACKET); debugLength = (SNMPERR_SUCCESS == debug_is_token_registered("transport:send")); if (dumpPacket | debugLength) { char *str = netsnmp_transport_peer_string(t, opaque ? *opaque : NULL, olength ? *olength : 0); if (debugLength) DEBUGMSGT_NC(("transport:send","%lu bytes to %s\n", (unsigned long)length, str)); if (dumpPacket) snmp_log(LOG_DEBUG, "\nSending %lu bytes to %s\n", (unsigned long)length, str); SNMP_FREE(str); } if (dumpPacket) xdump(packet, length, ""); return t->f_send(t, packet, length, opaque, olength); }
int netsnmp_transport_recv(netsnmp_transport *t, void *packet, int length, void **opaque, int *olength) { int debugLength; if ((NULL == t) || (NULL == t->f_recv)) { DEBUGMSGTL(("transport:recv", "NULL transport or recv function\n")); return SNMPERR_GENERR; } length = t->f_recv(t, packet, length, opaque, olength); if (length <=0) return length; /* don't log timeouts/socket closed */ debugLength = (SNMPERR_SUCCESS == debug_is_token_registered("transport:recv")); if (debugLength) { char *str = netsnmp_transport_peer_string(t, opaque ? *opaque : NULL, olength ? *olength : 0); if (debugLength) DEBUGMSGT_NC(("transport:recv","%d bytes from %s\n", length, str)); SNMP_FREE(str); } return length; }
void debugmsg (const char *token, const char *format, ...) { if (debug_is_token_registered (token) == SNMPERR_SUCCESS) { va_list debugargs; va_start (debugargs, format); snmp_vlog (LOG_DEBUG, format, debugargs); va_end (debugargs); } }
void manage_token_log(u_int token, const char *format, ...) { if(debug_is_token_registered(token)) { va_list ap; va_start(ap, format); manage_vlog(LOG_DEBUG, format, ap); va_end(ap); } return ; }