Lines Matching refs:smd

122 	struct picl_snmphdl	*smd;
186 struct picl_snmphdl *smd;
193 smd = (struct picl_snmphdl *)calloc(1, sizeof (struct picl_snmphdl));
194 if (smd == NULL)
201 if ((smd->fd = socket(PF_INET, SOCK_DGRAM, 0)) < 0)
204 (void) setsockopt(smd->fd, SOL_SOCKET, SO_SNDBUF, &sbuf, sizeof (int));
205 (void) setsockopt(smd->fd, SOL_SOCKET, SO_RCVBUF, &rbuf, sizeof (int));
207 memset(&smd->agent_addr, 0, sizeof (struct sockaddr_in));
208 smd->agent_addr.sin_family = AF_INET;
209 smd->agent_addr.sin_port = htons(SNMP_DEFAULT_PORT);
210 smd->agent_addr.sin_addr.s_addr = inet_addr(snmp_agent_addr);
212 smd->fd = open(DS_SNMP_DRIVER, O_RDWR);
213 if (smd->fd < 0) {
214 free(smd);
219 return ((picl_snmphdl_t)smd);
225 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
227 if (smd) {
228 if (smd->fd >= 0) {
229 (void) close(smd->fd);
231 free(smd);
238 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
258 if (smd == NULL || smd->fd < 0)
261 return (ioctl(smd->fd, DSSNMP_CLRLNKRESET, NULL));
270 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
311 for (prev = NULL, curr = smd->group; curr; curr = curr->next)
315 smd->group = oidg;
329 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
334 if (smd == NULL || prefix == NULL || val == NULL)
341 if ((grp = locate_oid_group(smd, prefix)) == NULL) {
342 ret = fetch_single_int(smd, prefix, row, val, &err);
359 fetch_bulk(smd, grp->oidstrs, grp->n_oids, row, grp->is_volatile, &err);
383 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
389 if (smd == NULL || prefix == NULL || strp == NULL)
397 if ((grp = locate_oid_group(smd, prefix)) == NULL) {
398 ret = fetch_single_str(smd, prefix, row, strp, &err);
419 fetch_bulk(smd, grp->oidstrs, grp->n_oids, row, grp->is_volatile, &err);
447 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
453 if (smd == NULL || prefix == NULL || bitstrp == NULL || nbytes == NULL)
461 if ((grp = locate_oid_group(smd, prefix)) == NULL) {
462 ret = fetch_single_bitstr(smd, prefix, row, bitstrp,
484 fetch_bulk(smd, grp->oidstrs, grp->n_oids, row, grp->is_volatile, &err);
513 struct picl_snmphdl *smd = (struct picl_snmphdl *)hdl;
519 if (smd == NULL || prefix == NULL || nextrow == NULL) {
529 if ((reply_pdu = fetch_next(smd, prefix, row, &err)) == NULL) {
767 locate_oid_group(struct picl_snmphdl *smd, char *prefix)
771 if (smd == NULL)
774 if (smd->group == NULL)
777 for (grp = smd->group; grp; grp = grp->next) {
788 fetch_single_int(struct picl_snmphdl *smd, char *prefix, int row, int *ival,
794 if ((reply_pdu = fetch_single(smd, prefix, row, snmp_syserr)) == NULL)
823 fetch_single_str(struct picl_snmphdl *smd, char *prefix, int row, char **valp,
829 if ((reply_pdu = fetch_single(smd, prefix, row, snmp_syserr)) == NULL)
846 fetch_single_bitstr(struct picl_snmphdl *smd, char *prefix, int row,
852 if ((reply_pdu = fetch_single(smd, prefix, row, snmp_syserr)) == NULL)
876 fetch_single(struct picl_snmphdl *smd, char *prefix, int row, int *snmp_syserr)
894 if (snmp_send_request(smd, pdu, snmp_syserr) < 0) {
899 if (snmp_recv_reply(smd, pdu, snmp_syserr) < 0) {
917 fetch_bulk(struct picl_snmphdl *smd, char *oidstrs, int n_oids,
951 if (snmp_send_request(smd, pdu, snmp_syserr) < 0) {
960 if (snmp_recv_reply(smd, pdu, snmp_syserr) < 0) {
980 (void) refreshq_add_job(smd, oidstrs, n_oids,
994 fetch_next(struct picl_snmphdl *smd, char *prefix, int row, int *snmp_syserr)
1013 if (snmp_send_request(smd, pdu, snmp_syserr) < 0) {
1018 if (snmp_recv_reply(smd, pdu, snmp_syserr) < 0) {
1036 snmp_send_request(struct picl_snmphdl *smd, snmp_pdu_t *pdu, int *snmp_syserr)
1043 if (smd->fd < 0)
1052 LOGIO(TAG_SENDTO, smd->fd, pdu->req_pkt, pdu->req_pktsz);
1054 ret = sendto(smd->fd, pdu->req_pkt, pdu->req_pktsz, 0,
1055 (struct sockaddr *)&smd->agent_addr,
1062 LOGIO(TAG_WRITE, smd->fd, pdu->req_pkt, pdu->req_pktsz);
1064 if (write(smd->fd, pdu->req_pkt, pdu->req_pktsz) < 0) {
1080 snmp_recv_reply(struct picl_snmphdl *smd, snmp_pdu_t *pdu, int *snmp_syserr)
1092 if (smd->fd < 0 || pdu == NULL)
1101 LOGIO(TAG_RECVFROM, smd->fd, pkt, SNMP_MAX_RECV_PKTSZ);
1103 msgsz = recvfrom(smd->fd, pkt, SNMP_MAX_RECV_PKTSZ, 0,
1112 LOGIO(TAG_IOCTL, smd->fd, DSSNMP_GETINFO, &snmp_info);
1117 if (ioctl(smd->fd, DSSNMP_GETINFO, &snmp_info) < 0) {
1127 LOGIO(TAG_READ, smd->fd, pkt, pktsz);
1129 if (read(smd->fd, pkt, pktsz) < 0) {
1411 refreshq_add_job(struct picl_snmphdl *smd, char *oidstrs, int n_oids, int row)
1468 refreshq[refreshq_next_slot].smd = smd;
1603 struct picl_snmphdl *smd;
1617 smd = refreshq[refreshq_next_job].smd;
1633 fetch_bulk(smd, oidstrs, n_oids, row, 1, &err);