brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 91c7cda Raw
68 lines · cpp
1// RUN: %clangxx -O0 -g %s -o %t2//3 4// bionic/netdb.cpp is not implemented.5// UNSUPPORTED: android6 7#include <netdb.h>8#include <stdio.h>9#include <stdlib.h>10#include <assert.h>11 12void test1() {13  struct protoent *ptp = getprotoent();14  assert(ptp && ptp->p_name);15  assert(ptp->p_proto == 0);16  char **aliases = ptp->p_aliases;17  while (aliases) {18    printf("%s\n", *aliases);19    aliases++;20  }21  endprotoent();22}23 24void test2() {25  struct protoent *ptp = getprotobyname("tcp");26  assert(ptp && ptp->p_name);27  assert(ptp->p_proto == 6);28  char **aliases = ptp->p_aliases;29  while (aliases) {30    printf("%s\n", *aliases);31    aliases++;32  }33  endprotoent();34}35 36void test3() {37  struct protoent *ptp = getprotobynumber(1);38  assert(ptp && ptp->p_name);39  assert(ptp->p_proto == 1);40  char **aliases = ptp->p_aliases;41  while (aliases) {42    printf("%s\n", *aliases);43    aliases++;44  }45  endprotoent();46}47 48void test4() {49  setprotoent(1);50  struct protoent *ptp = getprotobynumber(1);51 52  ptp = getprotobynumber(2);53  assert(ptp && ptp->p_name);54  assert(ptp->p_proto == 2);55  endprotoent();56}57 58int main(void) {59  printf("protoent\n");60 61  test1();62  test2();63  test3();64  test4();65 66  return 0;67}68