Sponsored Content
Top Forums Programming Problem with Mux channel legacy code. Post 302947081 by Wpgn on Monday 15th of June 2015 09:22:16 AM
Old 06-15-2015
Code:
/* Sub-Module
   ==========
   Mpath I/O Channel Entry Points */

/* Function
   ========
   MPIOOpen

   Open an MPath I/O Channel and return handle.  An Mpath I/O Channel, like a
   socket is an abstraction of a logical network connection.  It differs from
   a socket in that it preserves message boundaries (ie one can only transmit
   and receive complete messages) and, as much as possible, the semantics of
   datagram and stream i/o are hidden to the caller. */

MPIO_HNDL*
MPIOOpen(MPIO_TYPE type,
         MPIO_DATATYPE data_type,
         struct sockaddr* local_addr,
         struct sockaddr* remote_addr,
         MPIOEventHndlrCBF* event_hndlr,
         void* ulp_arg,
         MPIO_EVENTFLAGS event_flags,
         MPOPT_VEC* opt_vec,
         u_int opt_vec_cnt) {

    MPIO_HNDL* chan = (MPIO_HNDL*)0;
    struct sockaddr* addr;
    MPIO_FAMILY family;
    MPOPT_VEC* opt_vec00,
             * opt_vec01;
    u_int opt_vec_cnt00,
          opt_vec_cnt01;

    u_int failure = true;

    /* Range check */

    if((type >= MPIOMaxType) ||
       (data_type >= MPIODataTypeMax) ||
       ((type == MPIOPassive) &&
        (local_addr == (struct sockaddr*)0)) ||
       ((type == MPIOActive) &&
        (remote_addr == (struct sockaddr*)0)) ||
       ((event_flags != 0) &&
        (event_hndlr == (MPIOEventHndlrCBF*)0)) ||
       ((event_flags == 0) &&
        (event_hndlr != (MPIOEventHndlrCBF*)0)) ||
       (((event_flags & (MPIORefIncEvent|MPIORefDecEvent)) != 0) &&
        ((event_flags & (MPIORefIncEvent|MPIORefDecEvent)) !=
         (MPIORefIncEvent|MPIORefDecEvent)))) {
        MPErrorSet(MPERR_INVALID);
        mp_log("000G9", MPLT_ERR, "MPIOOpen: " "Invalid Parameters");
        goto epilogue;
    }

I not got access to server right now but I will do truss soon as am back in office
 

5 More Discussions You Might Find Interesting

1. Programming

CMI Legacy

Is there anyone who still uses CMI to connect to the legacy system , my c applications do uses the binaries and libraries for using the CMI functionality but i do not have access to the original source code , and since this is a very old stuff , i just could not get any source to get to knwo the... (0 Replies)
Discussion started by: dino_leix
0 Replies

2. UNIX for Advanced & Expert Users

timeout opening writing control channel /dev/initctl problem occur i cant shoudown

Hi... This is message that occurs when i am trying to shutdown the linux system timeout opening writing control channel /dev/initctl how can i shutdown what is the problem here.. Thanks in advance ... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies

3. Red Hat

Spacewalk. Problem with adding the channel

OS: Fedora Linux 11 Spacewalk: 0.6 Installed by manual: https://fedorahosted.org/spacewalk/wiki/HowToInstall I download special script (create_channel.py) for registarion client from CLI and added 3 channel with 32-Bit architecture and all OK: Fedora 11 32-Bit RHEL 4.7 32-bit RHEL 5.3... (2 Replies)
Discussion started by: jess_t03
2 Replies

4. What is on Your Mind?

Tron Legacy

Watched it. Major disappointment. (10 Replies)
Discussion started by: ni2
10 Replies

5. Solaris

Installing TCP-MUX protocol socket help required.

I been looking for a good guide or some help on how to install and setup TCP-MUX protocol socket on my Solaris 7 servers. Can anyone point me in right direction of help me ? Thanks (5 Replies)
Discussion started by: Wpgn
5 Replies
SCTP_GETLADDRS(3)					     Linux Programmer's Manual						 SCTP_GETLADDRS(3)

NAME
sctp_getladdrs - Returns all locally bound addresses on a socket. SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_getladdrs(int sd, sctp_assoc_t assoc_id, struct sockaddr **addrs); void sctp_freeladdrs(struct sockaddr *addrs); DESCRIPTION
sctp_getladdrs returns all locally bound addresses on a socket. On return, addrs will point to a dynamically allocated packed array of sockaddr structures of the appropriate type for each local address. The caller should use sctp_freeladdrs to free the memory. Note that the in/out parameter addrs must not be NULL. If sd is an IPv4 socket, the addresses returned will be all IPv4 addresses. If sd is an IPv6 socket, the addresses returned can be a mix of IPv4 or IPv6 addresses. For one-to-many style sockets, id specifies the association to query. For one-to-one style sockets, id is ignored. If the id field is set to 0, then the locally bound addresses are returned without regard to any particular association. sctp_freeladdrs frees all the resources allocated by sctp_getladdrs RETURN VALUE
On success, sctp_getladdrs returns the number of local addresses bound to the socket. If the socket is unbound, 0 is returned and the value of *addrs is undefined. On error, sctp_getladdrs returns -1 and the value of *addrs is undefined. SEE ALSO
sctp(7) sctp_bindx(3), sctp_connectx(3), sctp_sendmsg(3), sctp_send(3), sctp_recvmsg(3), sctp_peeloff(3), sctp_getpaddrs(3), sctp_opt_info(3), Linux 2.6 2005-10-25 SCTP_GETLADDRS(3)
All times are GMT -4. The time now is 03:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy