Lines Matching +full:reverse +full:- +full:data
1 // SPDX-License-Identifier: GPL-2.0-or-later
22 * look_up_OID - Find an OID registration for the specified data
23 * @data: Binary representation of the OID
26 enum OID look_up_OID(const void *data, size_t datasize) in look_up_OID() argument
28 const unsigned char *octets = data; in look_up_OID()
34 /* Hash the OID data */ in look_up_OID()
35 hash = datasize - 1; in look_up_OID()
44 * order of reverse value. in look_up_OID()
62 len = oid_index[oid + 1] - oid_index[oid]; in look_up_OID()
73 * OID, so do the comparison in reverse. in look_up_OID()
76 unsigned char a = oid_data[oid_index[oid] + --len]; in look_up_OID()
97 * parse_OID - Parse an OID from a bytestream
98 * @data: Binary representation of the header + OID
103 * ASN1_OID | length | oid. The length indicator must equal to datasize - 2.
104 * -EBADMSG is returned if the bytestream is too short.
106 int parse_OID(const void *data, size_t datasize, enum OID *oid) in parse_OID() argument
108 const unsigned char *v = data; in parse_OID()
111 if (datasize < 3 || v[0] != ASN1_OID || v[1] != datasize - 2) in parse_OID()
112 return -EBADMSG; in parse_OID()
114 *oid = look_up_OID(data + 2, datasize - 2); in parse_OID()
120 * sprint_OID - Print an Object Identifier into a buffer
121 * @data: The encoded OID to print
127 * bytes is returned. -EBADMSG is returned if the data could not be interpreted
128 * and -ENOBUFS if the buffer was too small.
130 int sprint_oid(const void *data, size_t datasize, char *buffer, size_t bufsize) in sprint_oid() argument
132 const unsigned char *v = data, *end = v + datasize; in sprint_oid()
144 return -ENOBUFS; in sprint_oid()
146 bufsize -= count; in sprint_oid()
164 return -ENOBUFS; in sprint_oid()
166 bufsize -= count; in sprint_oid()
173 return -EBADMSG; in sprint_oid()
178 * sprint_OID - Print an Object Identifier into a buffer
193 oid_index[oid + 1] - oid_index[oid], in sprint_OID()
195 BUG_ON(ret == -EBADMSG); in sprint_OID()