Changeset 7418


Ignore:
Timestamp:
05/07/18 20:23:58 (5 months ago)
Author:
baker
Message:

fix sockets API calls to use socklen_t

Location:
trunk/src/libsrc/lib330
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libsrc/lib330/libdss.c

    r7043 r7418  
    237237  boolean sockfull ; /* last send failed */ 
    238238  tdss dss_par ; /* creation parameters */ 
    239 #ifdef X86_WIN32 
    240239  struct sockaddr dsockin, sock ; /* dss address descriptors */ 
    241 #else 
    242   struct sockaddr dsockin, sock ; /* dss address descriptors */ 
    243 #endif 
    244240  pmemory free ;       /* head of free memory list */ 
    245241  integer total ;      /* total memory obtained from system */ 
     
    554550static void open_socket (pdssstr dssstr) 
    555551begin 
    556   integer lth ; 
    557   integer err, flags ; 
     552  socklen_t lth ; 
     553  integer err ; 
    558554#ifdef X86_WIN32 
    559   longint flag ; 
     555  longword flag ; 
     556#else 
     557  integer flags ; 
    560558#endif 
    561559  string63 s ; 
     
    594592      psock->sin_port = htons(dssstr->dss_par.port_number) ; 
    595593  psock->sin_addr.s_addr = INADDR_ANY ; 
    596 #ifdef X86_WIN32 
    597594  err = bind(dssstr->q330->dsspath, addr(dssstr->dsockin), sizeof(struct sockaddr)) ; 
    598595  if (err) 
    599 #else 
    600   err = bind(dssstr->q330->dsspath, addr(dssstr->dsockin), sizeof(struct sockaddr)) ; 
    601   if (err) 
    602 #endif 
    603596    then 
    604597      begin 
     
    16251618  longint expcrc ; 
    16261619  pdss_client pcli ; 
    1627   integer err, lth ; 
     1620  socklen_t lth ; 
     1621  integer err ; 
    16281622  pbyte p ; 
    16291623  string63 s ; 
  • trunk/src/libsrc/lib330/libnetserv.c

    r7043 r7418  
    177177static void open_socket (pnsstr nsstr) 
    178178begin 
    179   integer lth, j ; 
     179  socklen_t lth ; 
    180180  integer err ; 
    181   integer flag ; 
     181#ifdef X86_WIN32 
     182  longword flag ; 
     183#else 
     184  integer flags ; 
     185#endif 
    182186  word host_port ; 
    183187  struct sockaddr xyz ; 
     
    222226  flag2 = 1 ; 
    223227#ifdef X86_WIN32 
    224   j = sizeof(BOOL) ; 
    225   setsockopt (nsstr->npath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), j) ; 
    226 #else 
    227   j = sizeof(int) ; 
    228   setsockopt (nsstr->npath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), j) ; 
    229 #endif 
    230   flag = sizeof(struct linger) ; 
    231 #ifdef X86_WIN32 
    232   getsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), addr(flag)) ; 
    233 #else 
    234   getsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), addr(flag)) ; 
    235 #endif 
     228  lth = sizeof(BOOL) ; 
     229#else 
     230  lth = sizeof(int) ; 
     231#endif 
     232  setsockopt (nsstr->npath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), lth) ; 
     233  lth = sizeof(struct linger) ; 
     234  getsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), addr(lth)) ; 
    236235  if (lingeropt.l_onoff) 
    237236    then 
     
    239238        lingeropt.l_onoff = 0 ; 
    240239        lingeropt.l_linger = 0 ; 
    241         flag = sizeof(struct linger) ; 
    242 #ifdef X86_WIN32 
    243         setsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), flag) ; 
    244 #else 
    245         setsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), flag) ; 
    246 #endif 
    247       end 
    248 #ifdef X86_WIN32 
     240        lth = sizeof(struct linger) ; 
     241        setsockopt (nsstr->npath, SOL_SOCKET, SO_LINGER, addr(lingeropt), lth) ; 
     242      end 
    249243  err = bind(nsstr->npath, addr(nsstr->nsockin), sizeof(struct sockaddr)) ; 
    250244  if (err) 
    251 #else 
    252   err = bind(nsstr->npath, addr(nsstr->nsockin), sizeof(struct sockaddr)) ; 
    253   if (err) 
    254 #endif 
    255245    then 
    256246      begin 
     
    268258        return ; 
    269259      end 
     260#ifdef X86_WIN32 
    270261  flag = 1 ; 
    271 #ifdef X86_WIN32 
    272262  ioctlsocket (nsstr->npath, FIONBIO, addr(flag)) ; 
    273263  err = listen (nsstr->npath, 1) ; 
    274264#else 
    275   flag = fcntl (nsstr->npath, F_GETFL, 0) ; 
    276   fcntl (nsstr->npath, F_SETFL, flag or O_NONBLOCK) ; 
     265  flags = fcntl (nsstr->npath, F_GETFL, 0) ; 
     266  fcntl (nsstr->npath, F_SETFL, flags or O_NONBLOCK) ; 
    277267  err = listen (nsstr->npath, 1) ; 
    278268#endif 
     
    304294static void accept_ns_socket (pnsstr nsstr) 
    305295begin 
    306   integer i, lth, err, err2 ; 
    307   integer flag ; 
     296  socklen_t lth ; 
     297  integer i, err, err2 ; 
     298#ifdef X86_WIN32 
     299  longword flag ; 
     300#else 
     301  integer flags ; 
     302#endif 
    308303  integer bufsize ; 
    309304  longword client_ip ; 
     
    319314    then 
    320315      return ; 
    321 #ifdef X86_WIN32 
    322316  nsstr->sockpath = accept (nsstr->npath, addr(nsstr->client), addr(lth)) ; 
    323 #else 
    324   nsstr->sockpath = accept (nsstr->npath, addr(nsstr->client), addr(lth)) ; 
    325 #endif 
    326317  if (nsstr->sockpath == INVALID_SOCKET) 
    327318    then 
     
    355346          then 
    356347            nsstr->high_socket = nsstr->sockpath ; 
    357         flag = fcntl (nsstr->sockpath, F_GETFL, 0) ; 
    358         fcntl (nsstr->sockpath, F_SETFL, flag or O_NONBLOCK) ; 
     348        flags = fcntl (nsstr->sockpath, F_GETFL, 0) ; 
     349        fcntl (nsstr->sockpath, F_SETFL, flags or O_NONBLOCK) ; 
    359350#endif 
    360351        psock = (pointer) addr(nsstr->client) ; 
     
    391382        lib_msg_add (nsstr->ns_par.stnctx, AUXMSG_CONN, 0, addr(s)) ; 
    392383        lth = sizeof(integer) ; 
    393 #ifdef X86_WIN32 
    394384        err = getsockopt (nsstr->sockpath, SOL_SOCKET, SO_SNDBUF, addr(bufsize), addr(lth)) ; 
    395 #else 
    396         err = getsockopt (nsstr->sockpath, SOL_SOCKET, SO_SNDBUF, addr(bufsize), addr(lth)) ; 
    397 #endif 
    398385        if ((err == 0) land (bufsize < 30000)) 
    399386          then 
    400387            begin 
    401388              bufsize = 30000 ; 
    402 #ifdef X86_WIN32 
    403389              setsockopt (nsstr->sockpath, SOL_SOCKET, SO_SNDBUF, addr(bufsize), lth) ; 
    404 #else 
    405               setsockopt (nsstr->sockpath, SOL_SOCKET, SO_SNDBUF, addr(bufsize), lth) ; 
    406 #endif 
    407390            end 
    408391#ifndef X86_WIN32 
    409         flag = 1 ; 
    410         lth = sizeof(integer) ; 
    411392#if defined(linux) || defined(solaris) 
    412393        signal (SIGPIPE, SIG_IGN) ; 
    413394#else 
    414         setsockopt (nsstr->sockpath, SOL_SOCKET, SO_NOSIGPIPE, addr(flag), lth) ; 
     395        flags = 1 ; 
     396        lth = sizeof(integer) ; 
     397        setsockopt (nsstr->sockpath, SOL_SOCKET, SO_NOSIGPIPE, addr(flags), lth) ; 
    415398#endif 
    416399#endif 
  • trunk/src/libsrc/lib330/libpoc.c

    r7043 r7418  
    157157begin 
    158158  longint thiscrc ; 
    159   integer lth ; 
     159  socklen_t lth ; 
    160160  pbyte p ; 
    161161  integer err ; 
     
    198198static void open_socket (ppocstr pocstr) 
    199199begin 
    200   integer err, flags ; 
    201   longint flag ; 
     200  integer err ; 
     201#ifdef X86_WIN32 
     202  longword flag ; 
     203#else 
     204  integer flags ; 
     205#endif 
    202206  struct sockaddr_in *psock ; 
    203207 
     
    217221  psock->sin_port = htons(pocstr->poc_par.poc_port) ; 
    218222  psock->sin_addr.s_addr = INADDR_ANY ; 
    219 #ifdef X86_WIN32 
    220223  err = bind(pocstr->cpath, addr(pocstr->csockin), sizeof(struct sockaddr)) ; 
    221224  if (err) 
    222 #else 
    223   err = bind(pocstr->cpath, addr(pocstr->csockin), sizeof(struct sockaddr)) ; 
    224   if (err) 
    225 #endif 
    226225    then 
    227226      begin 
     
    234233        return ; 
    235234      end 
     235#ifdef X86_WIN32 
    236236  flag = 1 ; 
    237 #ifdef X86_WIN32 
    238237  ioctlsocket (pocstr->cpath, FIONBIO, addr(flag)) ; 
    239238#else 
  • trunk/src/libsrc/lib330/q330io.c

    r7416 r7418  
    184184boolean open_sockets (pq330 q330, boolean both, boolean fromback) 
    185185begin 
    186   integer lth, j, err ; 
    187   integer flag ; 
     186  socklen_t lth ; 
     187  integer err ; 
     188#ifdef X86_WIN32 
     189  longword flag ; 
     190#else 
     191  integer flags ; 
     192#endif 
    188193  integer bufsize ; 
    189194  struct sockaddr xyz ; 
     
    267272  psock->sin_port = htons(q330->q330cport) ; 
    268273  psock->sin_addr.s_addr = htonl(q330->q330ip) ; 
     274#ifdef X86_WIN32 
    269275  flag = 1 ; 
    270 #ifdef X86_WIN32 
    271276  ioctlsocket (q330->cpath, FIONBIO, addr(flag)) ; 
    272277#else 
    273   flag = fcntl (q330->cpath, F_GETFL, 0) ; 
    274   fcntl (q330->cpath, F_SETFL, flag or O_NONBLOCK) ; 
     278  flags = fcntl (q330->cpath, F_GETFL, 0) ; 
     279  fcntl (q330->cpath, F_SETFL, flags or O_NONBLOCK) ; 
    275280#endif 
    276281  if (q330->tcp) 
     
    280285        flag2 = 1 ; 
    281286#ifdef X86_WIN32 
    282         j = sizeof(BOOL) ; 
    283         setsockopt (q330->cpath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), j) ; 
    284 #else 
    285         j = sizeof(int) ; 
    286         setsockopt (q330->cpath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), j) ; 
    287 #endif 
     287        lth = sizeof(BOOL) ; 
     288#else 
     289        lth = sizeof(int) ; 
     290#endif 
     291        setsockopt (q330->cpath, SOL_SOCKET, SO_REUSEADDR, addr(flag2), lth) ; 
    288292        err = connect (q330->cpath, addr(q330->csockout), sizeof(struct sockaddr)) ; 
    289293        if (err) 
     
    314318        psock->sin_port = htons(q330->par_register.host_ctrlport) ; 
    315319        psock->sin_addr.s_addr = INADDR_ANY ; 
    316 #ifdef X86_WIN32 
    317320        err = bind(q330->cpath, addr(q330->csockin), sizeof(struct sockaddr)) ; 
    318321        if (err) 
    319 #else 
    320         err = bind(q330->cpath, addr(q330->csockin), sizeof(struct sockaddr)) ; 
    321         if (err) 
    322 #endif 
    323322          then 
    324323            begin 
     
    343342      end 
    344343  lth = sizeof(struct sockaddr) ; 
    345 #ifdef X86_WIN32 
    346344  getsockname (q330->cpath, addr(xyz), addr(lth)) ; 
    347 #else 
    348   getsockname (q330->cpath, addr(xyz), addr(lth)) ; 
    349 #endif 
    350345  psock = (pointer) addr(xyz) ; 
    351346  q330->ctrlport = ntohs(psock->sin_port) ; 
     
    376371            end 
    377372        lth = sizeof(longint) ; 
    378 #ifdef X86_WIN32 
     373#ifndef X86_WIN32 
     374        if (q330->dpath > q330->high_socket) 
     375          then 
     376            q330->high_socket = q330->dpath ; 
     377#endif 
    379378        err = getsockopt (q330->dpath, SOL_SOCKET, SO_RCVBUF, addr(bufsize), addr(lth)) ; 
    380 #else 
    381         if (q330->dpath > q330->high_socket) 
    382           then 
    383             q330->high_socket = q330->dpath ; 
    384         err = getsockopt (q330->dpath, SOL_SOCKET, SO_RCVBUF, addr(bufsize), addr(lth)) ; 
    385 #endif 
    386379        if ((err == 0) land (bufsize < 30000)) 
    387380          then 
    388381            begin 
    389382              bufsize = 30000 ; 
    390 #ifdef X86_WIN32 
    391383              setsockopt (q330->dpath, SOL_SOCKET, SO_RCVBUF, addr(bufsize), lth) ; 
    392 #else 
    393               setsockopt (q330->dpath, SOL_SOCKET, SO_RCVBUF, addr(bufsize), lth) ; 
    394 #endif 
    395384            end 
    396385        psock = (pointer) addr(q330->dsockin) ; 
     
    399388        psock->sin_port = htons(q330->par_register.host_dataport) ; 
    400389        psock->sin_addr.s_addr = INADDR_ANY ; 
    401 #ifdef X86_WIN32 
    402390        err = bind(q330->dpath, addr(q330->dsockin), sizeof(struct sockaddr)) ; 
    403391        if (err) 
    404 #else 
    405         err = bind(q330->dpath, addr(q330->dsockin), sizeof(struct sockaddr)) ; 
    406         if (err) 
    407 #endif 
    408392          then 
    409393            begin 
     
    427411        psock->sin_port = htons(q330->q330dport) ; 
    428412        psock->sin_addr.s_addr = htonl(q330->q330ip) ; 
     413#ifdef X86_WIN32 
    429414        flag = 1 ; 
     415        ioctlsocket (q330->dpath, FIONBIO, addr(flag)) ; 
     416#else 
     417        flags = fcntl (q330->dpath, F_GETFL, 0) ; 
     418        fcntl (q330->dpath, F_SETFL, flags or O_NONBLOCK) ; 
     419#endif 
    430420        lth = sizeof(struct sockaddr) ; 
    431 #ifdef X86_WIN32 
    432         ioctlsocket (q330->dpath, FIONBIO, addr(flag)) ; 
    433421        getsockname (q330->dpath, addr(xyz), addr(lth)) ; 
    434 #else 
    435         flag = fcntl (q330->dpath, F_GETFL, 0) ; 
    436         fcntl (q330->dpath, F_SETFL, flag or O_NONBLOCK) ; 
    437         getsockname (q330->dpath, addr(xyz), addr(lth)) ; 
    438 #endif 
    439422        psock = (pointer) addr(xyz) ; 
    440423        q330->dataport = ntohs(psock->sin_port) ; 
     
    565548void read_data_socket (pq330 q330) 
    566549begin 
    567   integer lth, err ; 
     550  socklen_t lth ; 
     551  integer err ; 
    568552  string95 msg ; 
    569553 
     
    643627void read_cmd_socket (pq330 q330) 
    644628begin 
    645   integer lth ; 
     629  socklen_t lth ; 
     630  integer err ; 
    646631  pbyte p ; 
    647   integer err ; 
    648632  word poff, qdplth ; 
    649633  string95 msg ; 
Note: See TracChangeset for help on using the changeset viewer.