182657471SMarkus Pfeiffer /**
282657471SMarkus Pfeiffer  * Copyright (c) 2013 Larisa Grigore.  All rights reserved.
382657471SMarkus Pfeiffer  *
482657471SMarkus Pfeiffer  * Redistribution and use in source and binary forms, with or without
582657471SMarkus Pfeiffer  * modification, are permitted provided that the following conditions
682657471SMarkus Pfeiffer  * are met:
782657471SMarkus Pfeiffer  * 1. Redistributions of source code must retain the above copyright
882657471SMarkus Pfeiffer  *    notice, this list of conditions and the following disclaimer.
982657471SMarkus Pfeiffer  * 2. Redistributions in binary form must reproduce the above copyright
1082657471SMarkus Pfeiffer  *    notice, this list of conditions and the following disclaimer in the
1182657471SMarkus Pfeiffer  *    documentation and/or other materials provided with the distribution.
1282657471SMarkus Pfeiffer  * 3. The name of the author may not be used to endorse or promote products
1382657471SMarkus Pfeiffer  *    derived from this software without specific prior written permission.
1482657471SMarkus Pfeiffer  *
1582657471SMarkus Pfeiffer  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1682657471SMarkus Pfeiffer  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1782657471SMarkus Pfeiffer  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
1882657471SMarkus Pfeiffer  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
1982657471SMarkus Pfeiffer  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2082657471SMarkus Pfeiffer  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2182657471SMarkus Pfeiffer  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2282657471SMarkus Pfeiffer  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2382657471SMarkus Pfeiffer  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2482657471SMarkus Pfeiffer  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2582657471SMarkus Pfeiffer  */
2682657471SMarkus Pfeiffer 
27*ff86f401SSascha Wildner #ifndef _SYSVIPC_SOCKETS_H_
28*ff86f401SSascha Wildner #define _SYSVIPC_SOCKETS_H_
2982657471SMarkus Pfeiffer 
3082657471SMarkus Pfeiffer #include <sys/socket.h>
3182657471SMarkus Pfeiffer 
3282657471SMarkus Pfeiffer #define    LISTEN_SOCKET_FILE      "/var/run/sysvipc/sysvipc_socket"
3382657471SMarkus Pfeiffer 
3482657471SMarkus Pfeiffer int init_socket(const char *);
3582657471SMarkus Pfeiffer int handle_new_connection(int);
3682657471SMarkus Pfeiffer int connect_to_daemon(const char *);
3782657471SMarkus Pfeiffer 
3882657471SMarkus Pfeiffer int send_msg_with_cred(int, char *, size_t);
3982657471SMarkus Pfeiffer int receive_msg_with_cred(int, char *, size_t, struct cmsgcred *);
4082657471SMarkus Pfeiffer 
4182657471SMarkus Pfeiffer int send_fd(int, int);
4282657471SMarkus Pfeiffer int receive_fd(int);
4382657471SMarkus Pfeiffer 
44*ff86f401SSascha Wildner #endif /* !_SYSVIPC_SOCKETS_H_ */
45