#include /* socket(3) */ #include #include struct domains_t { char * domain; int num; }; struct domain_types_t { char * type; int num; }; int main(int argc, char *argv[]) { int s = 0, i = 0, j = 0; char try_msg[] = "Creating socket "; struct domains_t domains[] = { { "PF_INET", PF_INET }, { "PF_IPX", PF_IPX }, { "PF_APPLETALK", PF_APPLETALK }, { NULL, 0 } }; struct domain_types_t types[] = { { "SOCK_STREAM", SOCK_STREAM }, { "SOCK_DGRAM", SOCK_DGRAM }, { "SOCK_SEQPACKET", SOCK_SEQPACKET }, { "SOCK_RDM", SOCK_RDM }, { NULL, 0 } }; printf("---> Printing domain values <---\n"); for(i = 0; domains[i].domain != NULL; ++i) { printf("%-12s: %i\n", domains[i].domain, domains[i].num); } for(i = 0; domains[i].domain != NULL; ++i) { for(j = 0; types[j].type != NULL; ++j) { printf("%-15s", try_msg); printf("%-12s, %-15s: ", domains[i].domain, types[j].type); s = socket(domains[i].num, types[j].num, 0); if(s < 0) { printf("failed"); } else { printf("succeeded"); } printf("\n"); } } return 0; }