#include #include void labashka(unsigned short (*pop)(void), void (*push)(unsigned short), size_t (*len)(void), size_t max_size ) { FILE *file = NULL; file = (void*)((size_t)(pop()) << (16*0) | (size_t)file); file = (void*)((size_t)(pop()) << (16*1) | (size_t)file); file = (void*)((size_t)(pop()) << (16*2) | (size_t)file); file = (void*)((size_t)(pop()) << (16*3) | (size_t)file); push(fclose(file)); }