#ifndef PRINT_CMD_H
#define PRINT_CMD_H
#include <stddef.h>
struct simple_command_struct;
struct compound_command_struct;
struct command_struct;
struct pipeline_struct;
struct and_or_list_struct;
struct list_struct;
struct string_buffer_struct {
char *buf;
size_t size;
int pos;
};
void string_buffer_init(struct string_buffer_struct *string_buffer);
char *string_buffer_release(struct string_buffer_struct *string_buffer);
void print_command(const struct command_struct *command, int *line_number, struct string_buffer_struct *string_buffer);
void print_pipeline(const struct pipeline_struct *pipeline, int *line_number, struct string_buffer_struct *string_buffer);
void print_and_or_list(const struct and_or_list_struct *and_or_list, int *line_number, struct string_buffer_struct *string_buffer);
void print_list(const struct list_struct *list, int *line_number, struct string_buffer_struct *string_buffer);
#endif