Diff for /libaitrpc/src/cli.c between versions 1.23 and 1.23.2.3

version 1.23, 2015/01/15 01:42:37 version 1.23.2.3, 2015/01/18 01:11:35
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 if (type == SOCK_EXT)
                           ret = rpc_Read(sock, type, 0, NULL, buf, blen);
                 else if (type == SOCK_BPF) {                  else if (type == SOCK_BPF) {
                         ret = rpc_Read(sock, type, 0, sa, AIT_GET_BUF(pkt), AIT_LEN(pkt));                          ret = rpc_Read(sock, type, 0, sa, AIT_GET_BUF(pkt), AIT_LEN(pkt));
                         if (ret > 0)                          if (ret > 0)
Line 746  rpc_cli_closeClient2(rpc_cli_t ** __restrict cli) Line 748  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.23  
changed lines
  Added in v.1.23.2.3


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