# pragma once #include "exec.h" #include "preproc.h" #include "utils.h" typedef enum { SLOT_STR, SLOT_SPEC, SLOT_PROC_IN, SLOT_PROC_OUT, } SlotKind; typedef struct { SlotKind kind; union { char* str; SpecialToken spec; Region* proc_reg; } as; } Slot; DECLARE_VEC(Slot, SlotVec) typedef struct { SlotVec cmd_slots; Connector conn; } ExpandedPipelineElement; DECLARE_VEC(ExpandedPipelineElement, ExpandedPipeline) ExpandedPipeline expand_pipeline(Pipeline* pl, ShellState* shstate);