struct node struct node *nextint datastruct node *prev}struct node *start nullstruct node *create_ll(struct node *)struct node *display(struct node *)struct node *insert_beg(struct node *)struct node *insert_end(struct node *)struct node *insert_before(struct node *)struct node *insert_after(struct node *)struct node *delete_beg(struct node *)struct node *delete_end(struct node *)struct node *delete_before(struct node *)struct node *delete_after(struct node *)struct node *delete_list(struct node *)int main(int optionclrscr()do printf("\ \ *****main menu *****")printf("\ create list")printf("\ display the list")printf("\ add node at the beginning")printf("\ add node at the end")printf("\ add node before given node")printf("\ add node after given node")printf("\ delete node from the beginning")printf("\ delete node from the end")printf("\ delete node before given node")printf("\ delete node after given node")printf("\ delete the entire list")printf("\ exit")printf("\ \ enter your option ")scanf("% "&option)switch(optioncase start create_ll(start)printf("\ doubly linked list created")breakcase start display(start)breakcase start insert_beg(start)breakcase start insert_end(start)breakcase start insert_before(start)breakcase start insert_after(start)breakcase start delete_beg(start)breakcase start delete_end(start)breakcase start delete_before(start)breakcase start delete_after(start)