typedef struct ppm_t { unsigned char *rgb; unsigned int x, y, d; } ppm_t; // read ppm from filename and return a ppm_t structure with its contents ppm_t *ppmread (char *filename); // write the image in filename int ppmwrite (char *filename, ppm_t *image); // deallocate all memory allocated to ppm_t image. The image must have been allocated either through ppmread // or ppmalloc void ppmfree (ppm_t *image); // allocate a blank ppm_t image with x rows, y columns, where each color can be as high as depth (expected to be 255) ppm_t *ppmalloc (int x, int y, int depth);