summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/stack.h
blob: 98a621d4176c057d6f78e87b232e870723006604 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* SPDX-License-Identifier: Apache-2.0
 * Copyright (c) 2024 Cisco Systems, Inc.
 */

#ifndef __STACK_H__
#define __STACK_H__

#include <vppinfra/clib.h>

typedef struct
{
  uword ip, sp;
  uword offset;
  char name[64];
  const char *file_name;
  u32 index;
  u8 is_signal_frame;
} clib_stack_frame_t;

clib_stack_frame_t *clib_stack_frame_get (clib_stack_frame_t *);

#define foreach_clib_stack_frame(sf)                                          \
  for (clib_stack_frame_t _sf = {}, *sf = clib_stack_frame_get (&_sf); sf;    \
       sf = clib_stack_frame_get (sf))

#endif /* __STACK_H__ */