libdrizzle Developer Documentation

conn_uds.c
Go to the documentation of this file.
1/*
2 * Drizzle Client & Protocol Library
3 *
4 * Copyright (C) 2008 Eric Day (eday@oddments.org)
5 * All rights reserved.
6 *
7 * Use and distribution licensed under the BSD license. See
8 * the COPYING file in this directory for full text.
9 */
10
16#include "common.h"
17
18const char *drizzle_con_uds(const drizzle_con_st *con)
19{
21 {
22 if (con->socket.uds.sockaddr.sun_path[0] != 0)
23 return con->socket.uds.sockaddr.sun_path;
24
25 if (con->options & DRIZZLE_CON_MYSQL)
27
29 }
30
31 return NULL;
32}
33
34void drizzle_con_set_uds(drizzle_con_st *con, const char *uds)
35{
37
39
40 if (uds == NULL)
41 uds= "";
42
43 con->socket.uds.sockaddr.sun_family= AF_UNIX;
44 strncpy(con->socket.uds.sockaddr.sun_path, uds,
45 sizeof(con->socket.uds.sockaddr.sun_path));
46 con->socket.uds.sockaddr.sun_path[sizeof(con->socket.uds.sockaddr.sun_path) - 1]= 0;
47
48 con->socket.uds.addrinfo.ai_family= AF_UNIX;
49 con->socket.uds.addrinfo.ai_socktype= SOCK_STREAM;
50 con->socket.uds.addrinfo.ai_protocol= 0;
51 con->socket.uds.addrinfo.ai_addrlen= sizeof(struct sockaddr_un);
52 con->socket.uds.addrinfo.ai_addr= (struct sockaddr *)&(con->socket.uds.sockaddr);
53}
System Include Files.
void drizzle_con_reset_addrinfo(drizzle_con_st *con)
Definition conn.c:687
void drizzle_con_set_uds(drizzle_con_st *con, const char *uds)
Definition conn_uds.c:34
const char * drizzle_con_uds(const drizzle_con_st *con)
Definition conn_uds.c:18
@ DRIZZLE_CON_SOCKET_UDS
Definition constants.h:152
@ DRIZZLE_CON_MYSQL
Definition constants.h:135
#define DRIZZLE_DEFAULT_UDS_MYSQL
Definition constants.h:42
#define DRIZZLE_DEFAULT_UDS
Definition constants.h:41
drizzle_con_options_t options
Definition structs.h:84
union drizzle_con_st::@0 socket
drizzle_con_socket_t socket_type
Definition structs.h:85
drizzle_con_uds_st uds
Definition structs.h:113
struct sockaddr_un sockaddr
Definition structs.h:68
struct addrinfo addrinfo
Definition structs.h:67