CIRCLEQ_NEXT - Linux


Overview

The CIRCLEQ_NEXT macro retrieves the pointer to the next node in a circular queue.

Syntax

CIRCLEQ_NEXT(head, elem, field)

Parameters

  • head: Pointer to the head of the queue
  • elem: Pointer to the current node
  • field: Name of the field within elem that points to the next node

Options/Flags

None

Examples

Given the following circular queue structure:

struct node {
    struct node *next;
    int data;
};

To retrieve the next node in the queue:

struct node *node = CIRCLEQ_NEXT(head, node, next);

Common Issues

  • Ensure that elem is a valid pointer to a node in the queue.
  • Verify that field is the correct field name for the next node pointer.

Integration

CIRCLEQ_NEXT is commonly used in conjunction with CIRCLEQ_FIRST and CIRCLEQ_LAST to iterate through a circular queue.

Related Commands

  • CIRCLEQ_FIRST
  • CIRCLEQ_LAST