static int gdbserver_open(int port)

{

    struct sockaddr_in sockaddr;

    int fd, val, ret;



    fd = socket(PF_INET, SOCK_STREAM, 0);

    if (fd < 0) {

        perror("socket");

        return -1;

    }

#ifndef _WIN32

    fcntl(fd, F_SETFD, FD_CLOEXEC);

#endif



    /* allow fast reuse */

    val = 1;

    setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&val, sizeof(val));



    sockaddr.sin_family = AF_INET;

    sockaddr.sin_port = htons(port);

    sockaddr.sin_addr.s_addr = 0;

    ret = bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr));

    if (ret < 0) {

        perror("bind");


        return -1;

    }

    ret = listen(fd, 0);

    if (ret < 0) {

        perror("listen");


        return -1;

    }

    return fd;

}
static int gdbserver_open(int port)

{

    struct sockaddr_in sockaddr;

    int fd, val, ret;



    fd = socket(PF_INET, SOCK_STREAM, 0);

    if (fd < 0) {

        perror("socket");

        return -1;

    }

#ifndef _WIN32

    fcntl(fd, F_SETFD, FD_CLOEXEC);

#endif



    

    val = 1;

    setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&val, sizeof(val));



    sockaddr.sin_family = AF_INET;

    sockaddr.sin_port = htons(port);

    sockaddr.sin_addr.s_addr = 0;

    ret = bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr));

    if (ret < 0) {

        perror("bind");


        return -1;

    }

    ret = listen(fd, 0);

    if (ret < 0) {

        perror("listen");


        return -1;

    }

    return fd;

}
static int FUNC_0(int VAR_0)

{

    struct sockaddr_in VAR_1;

    int VAR_2, VAR_3, VAR_4;



    VAR_2 = socket(PF_INET, SOCK_STREAM, 0);

    if (VAR_2 < 0) {

        perror("socket");

        return -1;

    }

#ifndef _WIN32

    fcntl(VAR_2, F_SETFD, FD_CLOEXEC);

#endif



    

    VAR_3 = 1;

    setsockopt(VAR_2, SOL_SOCKET, SO_REUSEADDR, (char *)&VAR_3, sizeof(VAR_3));



    VAR_1.sin_family = AF_INET;

    VAR_1.sin_port = htons(VAR_0);

    VAR_1.sin_addr.s_addr = 0;

    VAR_4 = bind(VAR_2, (struct VAR_1 *)&VAR_1, sizeof(VAR_1));

    if (VAR_4 < 0) {

        perror("bind");


        return -1;

    }

    VAR_4 = listen(VAR_2, 0);

    if (VAR_4 < 0) {

        perror("listen");


        return -1;

    }

    return VAR_2;

}
static int FUNC_0(int VAR_0)
{ struct sockaddr_in VAR_1; int VAR_2, VAR_3, VAR_4; VAR_2 = socket(PF_INET, SOCK_STREAM, 0); if (VAR_2 < 0) { perror("socket"); return -1; } #ifndef _WIN32
fcntl(VAR_2, F_SETFD, FD_CLOEXEC); #endif
VAR_3 = 1; setsockopt(VAR_2, SOL_SOCKET, SO_REUSEADDR, (char *)&VAR_3, sizeof(VAR_3)); VAR_1.sin_family = AF_INET; VAR_1.sin_port = htons(VAR_0); VAR_1.sin_addr.s_addr = 0; VAR_4 = bind(VAR_2, (struct VAR_1 *)&VAR_1, sizeof(VAR_1)); if (VAR_4 < 0) { perror("bind"); return -1; } VAR_4 = listen(VAR_2, 0); if (VAR_4 < 0) { perror("listen"); return -1; } return VAR_2; }