From 697412d25c572d17821561db88abb992f944b18b Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 20 Nov 2020 18:57:47 -0500 Subject: stepper: Use a reusable interface to the "move queue" Signed-off-by: Kevin O'Connor --- src/basecmd.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/basecmd.h') diff --git a/src/basecmd.h b/src/basecmd.h index f4ea1cc7..a6464cad 100644 --- a/src/basecmd.h +++ b/src/basecmd.h @@ -4,10 +4,22 @@ #include // size_t #include // uint8_t +struct move_node { + struct move_node *next; +}; +struct move_queue_head { + struct move_node *first, *last; +}; + void *alloc_chunk(size_t size); void move_free(void *m); void *move_alloc(void); -void move_request_size(int size); +int move_queue_empty(struct move_queue_head *mh); +struct move_node *move_queue_first(struct move_queue_head *mh); +int move_queue_push(struct move_node *m, struct move_queue_head *mh); +struct move_node *move_queue_pop(struct move_queue_head *mh); +void move_queue_clear(struct move_queue_head *mh); +void move_queue_setup(struct move_queue_head *mh, int size); void *oid_lookup(uint8_t oid, void *type); void *oid_alloc(uint8_t oid, void *type, uint16_t size); void *oid_next(uint8_t *i, void *type); -- cgit v1.2.3-70-g09d2