Computer Science 101 Major Project - Component 3 Due Nov 12 at 11:59 pm In this assignment you will integrate your parser and your image processing components. Step (1) incorporate the imageop_t structure into image.h typedef struct imageop_type { int opcode; char in0[64]; /* Primary input filename */ char in1[64]; /* Secondary input filename */ char out[64]; /* Output file name */ int dims[2]; // x, y dimensions of output double factor; } imageop_t; Step (2) change the main.c module to something like: #include "image.h" void print_op(imageop_t *imop) { fprintf(stderr, "\n\n"); fprintf(stderr, "op index %d\n", imop->opcode); fprintf(stderr, "in0: %s\n", imop->in0); fprintf(stderr, "in1: %s\n", imop->in1); fprintf(stderr, "out: %s\n", imop->out); fprintf(stderr, "dims: %d %d\n", imop->dims[0], imop->dims[1]); fprintf(stderr, "factor: %.3lf\n", imop->factor); } void run_op(imageop_t *imop) { switch (imop->code) { case 0: mirror_ppm_image(imop); break; // -- etc -- } } int main() { imageop_t imop; memset(&imop, 0, sizeof(imop)); while (parser(&imop) == 0) { print_op(&imop); run_op(&imop); memset(&imop, 0, sizeof(imop)); } return(0); } Step (3) change your existing image processing interfaces. void mirror_ppm_image(imageop_t *imop) { /* Declare image_t structures for input and output images */ /* Initialize image_t structures using imop_t data */ /* Figure out a way to pass imop_t data (such as factor */ /* through to pixel processor functions */ } You should submit the following files: image.h main.c image.c parser.c mirror.c gray.c fade.c