Diff for /libaitrpc/src/cli.c between versions 1.22.6.3 and 1.23.2.2

version 1.22.6.3, 2014/12/10 23:44:33 version 1.23.2.2, 2015/01/18 01:03:49
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2014Copyright 2004 - 2015
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 350  rpc_pkt_Receive(int sock, int type, sockaddr_t * __res Line 350  rpc_pkt_Receive(int sock, int type, sockaddr_t * __res
         do {          do {
                 if (type == SOCK_STREAM)                  if (type == SOCK_STREAM)
                         ret = rpc_Read(sock, type, !estlen ? MSG_PEEK : 0, NULL, buf, blen);                          ret = rpc_Read(sock, type, !estlen ? MSG_PEEK : 0, NULL, buf, blen);
                else                else if (type == SOCK_BPF) {
                         ret = rpc_Read(sock, type, 0, sa, AIT_GET_BUF(pkt), AIT_LEN(pkt));
                         if (ret > 0)
                                 estlen = ret;
                  } else
                         ret = rpc_Read(sock, type, !estlen ? MSG_PEEK : 0, sa, buf, blen);                          ret = rpc_Read(sock, type, !estlen ? MSG_PEEK : 0, sa, buf, blen);
                 if (ret < 1)                  if (ret < 1)
                         return ret;                          return ret;
Line 656  rpc_cli_openClient2(u_char InstID, int netBuf, const c Line 660  rpc_cli_openClient2(u_char InstID, int netBuf, const c
                         return NULL;                          return NULL;
         } else          } else
                 strlcpy(szIface, csIface, sizeof szIface);                  strlcpy(szIface, csIface, sizeof szIface);
        if (e_getifacebyname(szIface, &sal))        if (!e_getifacebyname(szIface, &sal))
                 return NULL;                  return NULL;
   
         cli = e_malloc(sizeof(rpc_cli_t));          cli = e_malloc(sizeof(rpc_cli_t));
Line 742  rpc_cli_closeClient2(rpc_cli_t ** __restrict cli) Line 746  rpc_cli_closeClient2(rpc_cli_t ** __restrict cli)
                 return;                  return;
   
         close((*cli)->cli_sock);          close((*cli)->cli_sock);
   
           AIT_FREE_VAL(&(*cli)->cli_buf);
   
           if ((*cli)->cli_parent)
                   e_free((*cli)->cli_parent);
   
           e_free(*cli);
           *cli = NULL;
   }
   
   /*
    * rpc_cli_openClientExt() - Connect to pipe RPC Server
    *
    * @InstID = InstID for RPC session request
    * @netBuf = Network buffer length (min:512 bytes), if =0 == BUFSIZ (also meaning max RPC packet)
    * @fd = File descriptor
    * return: NULL == error or !=NULL connection to RPC server established
    */
   rpc_cli_t *
   rpc_cli_openClientExt(u_char InstID, int netBuf, int fd)
   {
           rpc_cli_t *cli = NULL;
           int n;
   
           cli = e_malloc(sizeof(rpc_cli_t));
           if (!cli) {
                   LOGERR;
                   return NULL;
           } else
                   memset(cli, 0, sizeof(rpc_cli_t));
   
           /* build session */
           cli->cli_parent = e_malloc(sizeof(rpc_sess_t));
           if (!cli->cli_parent) {
                   LOGERR;
                   e_free(cli);
                   return NULL;
           } else {
                   ((rpc_sess_t*) cli->cli_parent)->sess_version = RPC_VERSION;
                   ((rpc_sess_t*) cli->cli_parent)->sess_instance = InstID;
           }
   
           cli->cli_id = SOCK_EXT;
           cli->cli_sock = fd;
   
           n = (netBuf < RPC_MIN_BUFSIZ) ? getpagesize() : E_ALIGN(netBuf, 2);
           AIT_SET_BUFSIZ(&cli->cli_buf, 0, n);
   
           fcntl(cli->cli_sock, F_SETFL, 
                           fcntl(cli->cli_sock, F_GETFL) | O_NONBLOCK);
   
           return cli;
   }
   
   /*
    * rpc_cli_closeClientExt() - Close pipe connection to RPC server and free resources
    *
    * @cli = RPC Client session
    * return: none
    */
   void
   rpc_cli_closeClientExt(rpc_cli_t ** __restrict cli)
   {
           if (!cli || !*cli || (*cli)->cli_id != SOCK_EXT)
                   return;
   
         AIT_FREE_VAL(&(*cli)->cli_buf);          AIT_FREE_VAL(&(*cli)->cli_buf);
   

Removed from v.1.22.6.3  
changed lines
  Added in v.1.23.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>