Lines Matching refs:tlv

603 static struct rocker_tlv *rocker_tlv_next(const struct rocker_tlv *tlv,  in rocker_tlv_next()  argument
606 int totlen = ROCKER_TLV_ALIGN(tlv->len); in rocker_tlv_next()
609 return (struct rocker_tlv *) ((char *) tlv + totlen); in rocker_tlv_next()
612 static int rocker_tlv_ok(const struct rocker_tlv *tlv, int remaining) in rocker_tlv_ok() argument
615 tlv->len >= ROCKER_TLV_HDRLEN && in rocker_tlv_ok()
616 tlv->len <= remaining; in rocker_tlv_ok()
624 #define rocker_tlv_for_each_nested(pos, tlv, rem) \ argument
625 rocker_tlv_for_each(pos, rocker_tlv_data(tlv), \
626 rocker_tlv_len(tlv), rem)
643 static int rocker_tlv_type(const struct rocker_tlv *tlv) in rocker_tlv_type() argument
645 return tlv->type; in rocker_tlv_type()
648 static void *rocker_tlv_data(const struct rocker_tlv *tlv) in rocker_tlv_data() argument
650 return (char *) tlv + ROCKER_TLV_HDRLEN; in rocker_tlv_data()
653 static int rocker_tlv_len(const struct rocker_tlv *tlv) in rocker_tlv_len() argument
655 return tlv->len - ROCKER_TLV_HDRLEN; in rocker_tlv_len()
658 static u8 rocker_tlv_get_u8(const struct rocker_tlv *tlv) in rocker_tlv_get_u8() argument
660 return *(u8 *) rocker_tlv_data(tlv); in rocker_tlv_get_u8()
663 static u16 rocker_tlv_get_u16(const struct rocker_tlv *tlv) in rocker_tlv_get_u16() argument
665 return *(u16 *) rocker_tlv_data(tlv); in rocker_tlv_get_u16()
668 static __be16 rocker_tlv_get_be16(const struct rocker_tlv *tlv) in rocker_tlv_get_be16() argument
670 return *(__be16 *) rocker_tlv_data(tlv); in rocker_tlv_get_be16()
673 static u32 rocker_tlv_get_u32(const struct rocker_tlv *tlv) in rocker_tlv_get_u32() argument
675 return *(u32 *) rocker_tlv_data(tlv); in rocker_tlv_get_u32()
678 static u64 rocker_tlv_get_u64(const struct rocker_tlv *tlv) in rocker_tlv_get_u64() argument
680 return *(u64 *) rocker_tlv_data(tlv); in rocker_tlv_get_u64()
686 const struct rocker_tlv *tlv; in rocker_tlv_parse() local
692 rocker_tlv_for_each(tlv, head, buf_len, rem) { in rocker_tlv_parse()
693 u32 type = rocker_tlv_type(tlv); in rocker_tlv_parse()
696 tb[type] = (struct rocker_tlv *) tlv; in rocker_tlv_parse()
701 const struct rocker_tlv *tlv) in rocker_tlv_parse_nested() argument
703 rocker_tlv_parse(tb, maxtype, rocker_tlv_data(tlv), in rocker_tlv_parse_nested()
704 rocker_tlv_len(tlv)); in rocker_tlv_parse_nested()
725 struct rocker_tlv *tlv; in rocker_tlv_put() local
730 tlv = rocker_tlv_start(desc_info); in rocker_tlv_put()
732 tlv->type = attrtype; in rocker_tlv_put()
733 tlv->len = rocker_tlv_attr_size(attrlen); in rocker_tlv_put()
734 memcpy(rocker_tlv_data(tlv), data, attrlen); in rocker_tlv_put()
735 memset((char *) tlv + tlv->len, 0, rocker_tlv_padlen(attrlen)); in rocker_tlv_put()