X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=libasn1parser%2Fasn1p_list.h;fp=libasn1parser%2Fasn1p_list.h;h=0000000000000000000000000000000000000000;hb=7bfd112193698e9340c01e9260e3f14889f0cbe0;hp=858f24de4b93522b865b1eb0044525d720b990ad;hpb=0c91129502aa163bb0e1d6d0ca7c807560ffb588;p=com%2Fasn1c.git diff --git a/libasn1parser/asn1p_list.h b/libasn1parser/asn1p_list.h deleted file mode 100644 index 858f24d..0000000 --- a/libasn1parser/asn1p_list.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Singly linked tail queue support. - */ -#ifndef ASN1_PARSER_LIST_H -#define ASN1_PARSER_LIST_H - -#define TQ_HEAD(type) \ - struct { \ - type *tq_head; \ - type**tq_tail; \ - } - -#define TQ_MOVE(to, from) do { \ - if(&(TQ_FIRST(from)) == (from)->tq_tail) { \ - TQ_INIT(to); \ - } else { \ - (to)->tq_head = (from)->tq_head; \ - (to)->tq_tail = (from)->tq_tail; \ - } \ - TQ_INIT(from); \ - } while(0) - -#define TQ_ENTRY(type) \ - struct { \ - type *tq_next; \ - } - -#define TQ_FIRST(headp) ((headp)->tq_head) -#define TQ_NEXT(el, field) ((el)->field.tq_next) - -#define TQ_INIT(head) do { \ - TQ_FIRST((head)) = 0; \ - (head)->tq_tail = &TQ_FIRST((head)); \ - } while(0) - -#define TQ_FOR(var, head, field) \ - for((var) = TQ_FIRST((head)); \ - (var); (var) = TQ_NEXT((var), field)) - -/* MSVC does not have typeof(), cannot prevent side effects! */ -#define TQ_ADD(head, xel, field) do { \ - typeof(xel) __el = (xel); \ - assert(TQ_NEXT((__el), field) == 0); \ - *(head)->tq_tail = (__el); \ - (head)->tq_tail = &TQ_NEXT((__el), field); \ - } while(0) - -#define TQ_CONCAT(head1, head2, field) do { \ - if(TQ_FIRST(head2)) { \ - *(head1)->tq_tail = (head2)->tq_head; \ - (head1)->tq_tail = (head2)->tq_tail; \ - TQ_INIT(head2); \ - } \ - } while(0) - -/* - * Remove the first element and return it. - */ -#define TQ_REMOVE(head, field) ({ \ - typeof(TQ_FIRST((head))) __fel; \ - __fel = TQ_FIRST((head)); \ - if(__fel == 0 \ - || (TQ_FIRST((head)) = TQ_NEXT(__fel, field)) \ - == 0) { \ - (head)->tq_tail = &TQ_FIRST((head)); \ - } else { \ - TQ_NEXT(__fel, field) = 0; \ - } \ - __fel; }) - - -#endif /* ASN1_PARSER_LIST_H */