• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/cups-408/cups/cups/

Lines Matching refs:packet

36 			                 cups_snmp_t *packet);
38 cups_snmp_t *packet);
67 static void snmp_set_error(cups_snmp_t *packet,
162 _cupsSNMPIsOID(cups_snmp_t *packet, /* I - Response packet */
172 DEBUG_printf(("4_cupsSNMPIsOID(packet=%p, oid=%p)", packet, oid));
174 if (!packet || !oid)
186 i < CUPS_SNMP_MAX_OID && oid[i] >= 0 && packet->object_name[i] >= 0;
188 if (oid[i] != packet->object_name[i])
196 i < CUPS_SNMP_MAX_OID && oid[i] == packet->object_name[i]));
198 return (i < CUPS_SNMP_MAX_OID && oid[i] == packet->object_name[i]);
211 cups_snmp_t *packet, /* I - Response packet */
221 DEBUG_printf(("4_cupsSNMPIsOIDPrefixed(packet=%p, prefix=%p)", packet,
224 if (!packet || !prefix)
236 i < CUPS_SNMP_MAX_OID && prefix[i] >= 0 && packet->object_name[i] >= 0;
238 if (prefix[i] != packet->object_name[i])
344 cups_snmp_t * /* O - SNMP packet or @code NULL@ if none */
346 cups_snmp_t *packet, /* I - SNMP packet buffer */
350 /* Data packet */
360 DEBUG_printf(("4_cupsSNMPRead(fd=%d, packet=%p, timeout=%.1f)", fd, packet,
363 if (fd < 0 || !packet)
439 asn1_decode_snmp(buffer, (size_t)bytes, packet);
441 memcpy(&(packet->address), &address, sizeof(packet->address));
444 * Return decoded data packet...
447 DEBUG_puts("5_cupsSNMPRead: Returning packet");
449 return (packet);
561 cups_snmp_t packet; /* Current response packet */
586 _cupsSNMPCopyOID(packet.object_name, prefix, CUPS_SNMP_MAX_OID);
595 packet.object_name))
602 if (!_cupsSNMPRead(fd, &packet, timeout))
609 if (!_cupsSNMPIsOIDPrefixed(&packet, prefix) ||
610 _cupsSNMPIsOID(&packet, lastoid))
617 if (packet.error || packet.error_status)
624 _cupsSNMPCopyOID(lastoid, packet.object_name, CUPS_SNMP_MAX_OID);
628 (*cb)(&packet, data);
634 * '_cupsSNMPWrite()' - Send an SNMP query packet.
650 cups_snmp_t packet; /* SNMP message packet */
678 memset(&packet, 0, sizeof(packet));
680 packet.version = version;
681 packet.request_type = request_type;
682 packet.request_id = request_id;
683 packet.object_type = CUPS_ASN1_NULL_VALUE;
685 strlcpy(packet.community, community, sizeof(packet.community));
688 packet.object_name[i] = oid[i];
689 packet.object_name[i] = -1;
699 bytes = asn1_encode_snmp(buffer, sizeof(buffer), &packet);
750 * Do a hex dump of the packet...
921 * 'asn1_decode_snmp()' - Decode a SNMP packet.
927 cups_snmp_t *packet) /* I - SNMP packet */
938 memset(packet, 0, sizeof(cups_snmp_t));
939 packet->object_name[0] = -1;
945 snmp_set_error(packet, _("Packet does not start with SEQUENCE"));
947 snmp_set_error(packet, _("SEQUENCE uses indefinite length"));
949 snmp_set_error(packet, _("No version number"));
951 snmp_set_error(packet, _("Version uses indefinite length"));
952 else if ((packet->version = asn1_get_integer(&bufptr, bufend, length))
954 snmp_set_error(packet, _("Bad SNMP version number"));
956 snmp_set_error(packet, _("No community name"));
958 snmp_set_error(packet, _("Community name uses indefinite length"));
961 asn1_get_string(&bufptr, bufend, length, packet->community,
962 sizeof(packet->community));
964 if ((packet->request_type = (cups_asn1_t)asn1_get_type(&bufptr, bufend))
966 snmp_set_error(packet, _("Packet does not contain a Get-Response-PDU"));
968 snmp_set_error(packet, _("Get-Response-PDU uses indefinite length"));
970 snmp_set_error(packet, _("No request-id"));
972 snmp_set_error(packet, _("request-id uses indefinite length"));
975 packet->request_id = (unsigned)asn1_get_integer(&bufptr, bufend, length);
978 snmp_set_error(packet, _("No error-status"));
980 snmp_set_error(packet, _("error-status uses indefinite length"));
983 packet->error_status = asn1_get_integer(&bufptr, bufend, length);
986 snmp_set_error(packet, _("No error-index"));
988 snmp_set_error(packet, _("error-index uses indefinite length"));
991 packet->error_index = asn1_get_integer(&bufptr, bufend, length);
994 snmp_set_error(packet, _("No variable-bindings SEQUENCE"));
996 snmp_set_error(packet,
999 snmp_set_error(packet, _("No VarBind SEQUENCE"));
1001 snmp_set_error(packet, _("VarBind uses indefinite length"));
1003 snmp_set_error(packet, _("No name OID"));
1005 snmp_set_error(packet, _("Name OID uses indefinite length"));
1008 asn1_get_oid(&bufptr, bufend, length, packet->object_name,
1011 packet->object_type = (cups_asn1_t)asn1_get_type(&bufptr, bufend);
1014 packet->object_type != CUPS_ASN1_NULL_VALUE &&
1015 packet->object_type != CUPS_ASN1_OCTET_STRING)
1016 snmp_set_error(packet, _("Value uses indefinite length"));
1019 switch (packet->object_type)
1022 packet->object_value.boolean =
1027 packet->object_value.integer =
1037 packet->object_value.string.num_bytes = length;
1039 (char *)packet->object_value.string.bytes,
1040 sizeof(packet->object_value.string.bytes));
1045 packet->object_value.oid, CUPS_SNMP_MAX_OID);
1049 packet->object_value.counter =
1054 packet->object_value.gauge =
1059 packet->object_value.timeticks =
1064 snmp_set_error(packet, _("Unsupported value type"));
1074 return (packet->error ? -1 : 0);
1079 * 'asn1_encode_snmp()' - Encode a SNMP packet.
1085 cups_snmp_t *packet) /* I - SNMP packet */
1103 namelen = asn1_size_oid(packet->object_name);
1105 switch (packet->object_type)
1112 valuelen = asn1_size_integer(packet->object_value.boolean);
1116 valuelen = asn1_size_integer(packet->object_value.integer);
1120 valuelen = packet->object_value.string.num_bytes;
1124 valuelen = asn1_size_oid(packet->object_value.oid);
1128 packet->error = "Unknown object type";
1135 reqlen = 2 + asn1_size_integer((int)packet->request_id) +
1136 2 + asn1_size_integer(packet->error_status) +
1137 2 + asn1_size_integer(packet->error_index) +
1139 commlen = (unsigned)strlen(packet->community);
1140 msglen = 2 + asn1_size_integer(packet->version) +
1147 packet->error = "Message too large for buffer";
1160 asn1_set_integer(&bufptr, packet->version);
1165 memcpy(bufptr, packet->community, commlen);
1168 *bufptr++ = packet->request_type; /* Get-Request-PDU/Get-Next-Request-PDU */
1171 asn1_set_integer(&bufptr, (int)packet->request_id);
1173 asn1_set_integer(&bufptr, packet->error_status);
1175 asn1_set_integer(&bufptr, packet->error_index);
1183 asn1_set_oid(&bufptr, packet->object_name);
1186 switch (packet->object_type)
1195 asn1_set_integer(&bufptr, packet->object_value.boolean);
1199 asn1_set_integer(&bufptr, packet->object_value.integer);
1205 memcpy(bufptr, packet->object_value.string.bytes, valuelen);
1210 asn1_set_oid(&bufptr, packet->object_value.oid);
1662 * 'snmp_set_error()' - Set the localized error for a packet.
1666 snmp_set_error(cups_snmp_t *packet, /* I - Packet */
1675 packet->error = _cupsLangString(cg->lang_default, message);