Home | History | Annotate | Download | only in tools
      1 /*
      2 ** Copyright 2009 The Android Open Source Project
      3 **
      4 ** Licensed under the Apache License, Version 2.0 (the "License");
      5 ** you may not use this file except in compliance with the License.
      6 ** You may obtain a copy of the License at
      7 **
      8 **     http://www.apache.org/licenses/LICENSE-2.0
      9 **
     10 ** Unless required by applicable law or agreed to in writing, software
     11 ** distributed under the License is distributed on an "AS IS" BASIS,
     12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 ** See the License for the specific language governing permissions and
     14 ** limitations under the License.
     15 */
     16 
     17 #include <stdio.h>
     18 #include <stdlib.h>
     19 #include <unistd.h>
     20 #include <sys/socket.h>
     21 #include <fcntl.h>
     22 #include <errno.h>
     23 #include <netinet/in.h>
     24 
     25 int main(int argc, char **argv) {
     26     int fd;
     27     int ret;
     28     long flags;
     29     struct sockaddr_in addr;
     30 
     31     addr.sin_family = AF_INET;
     32     addr.sin_port = 12348;
     33 
     34     fd = socket(PF_INET, SOCK_STREAM, 0);
     35 
     36     ret = bind(fd, (struct sockaddr *)&addr, sizeof(addr));
     37     if (ret < 0) {
     38         printf("%d errno %d %s\n", __LINE__, errno, strerror(errno));
     39     }
     40 
     41     ret = listen(fd, 1);
     42     if (ret < 0) {
     43         printf("%d errno %d %s\n", __LINE__, errno, strerror(errno));
     44     }
     45 
     46     sleep(2);
     47 
     48     close(fd);
     49 
     50     sleep(2);
     51 
     52     fd = socket(PF_INET, SOCK_STREAM, 0);
     53 
     54     ret = bind(fd, (struct sockaddr *)&addr, sizeof(addr));
     55     if (ret < 0) {
     56         printf("%d errno %d %s\n", __LINE__, errno, strerror(errno));
     57     }
     58 
     59     sleep(2000000000);
     60 
     61     return 0;
     62 }
     63 
     64