How do I send "options" from server to client , using just one function call like send. Since the prototype of send is like this int send(int sockfd, const void *msg, int len, int flags); and receive is int recv(int sockfd, void *buf, int len, int flags); I am not sure how to cast "options" such that send and receive can take place in one function call.

Sending the pointer doesn't send the data. In order for you to transmit strings like that, you'll need to either come up with a protocol to send the data, or guarantee that the sender and receiver are the same process (or at least share the same memory at the same spot).