Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
58737d9f
Commit
58737d9f
authored
Jan 05, 2012
by
Pieter Noordhuis
Browse files
Helper functions for redis_address
parent
c37187f8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
58737d9f
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
include
./Makefile.common
include
./Makefile.common
OBJ
=
net.o hiredis.o sds.o async.o parser.o object.o handle.o format.o context.o
OBJ
=
net.o hiredis.o sds.o async.o parser.o object.o handle.o format.o context.o
address.o
BINS
=
hiredis-example hiredis-test
BINS
=
hiredis-example hiredis-test
all
:
$(DYLIBNAME) $(BINS)
all
:
$(DYLIBNAME) $(BINS)
...
...
address.c
0 → 100644
View file @
58737d9f
#include <string.h>
#include <assert.h>
#include <arpa/inet.h>
#include "address.h"
redis_address
redis_address_in
(
const
char
*
ip
,
int
port
)
{
struct
sockaddr_in
sa
;
redis_address
addr
;
memset
(
&
sa
,
0
,
sizeof
(
sa
));
sa
.
sin_family
=
AF_INET
;
sa
.
sin_port
=
htons
(
port
);
assert
(
inet_pton
(
AF_INET
,
ip
,
&
sa
.
sin_addr
)
==
1
);
memset
(
&
addr
,
0
,
sizeof
(
addr
));
addr
.
sa_family
=
sa
.
sin_family
;
addr
.
sa_addrlen
=
sizeof
(
sa
);
addr
.
sa_addr
.
in
=
sa
;
return
addr
;
}
redis_address
redis_address_in6
(
const
char
*
ip
,
int
port
)
{
struct
sockaddr_in6
sa
;
redis_address
addr
;
memset
(
&
sa
,
0
,
sizeof
(
sa
));
sa
.
sin6_family
=
AF_INET6
;
sa
.
sin6_port
=
htons
(
port
);
assert
(
inet_pton
(
AF_INET6
,
ip
,
&
sa
.
sin6_addr
)
==
1
);
memset
(
&
addr
,
0
,
sizeof
(
addr
));
addr
.
sa_family
=
sa
.
sin6_family
;
addr
.
sa_addrlen
=
sizeof
(
sa
);
addr
.
sa_addr
.
in6
=
sa
;
return
addr
;
}
redis_address
redis_address_un
(
const
char
*
path
)
{
struct
sockaddr_un
sa
;
redis_address
addr
;
memset
(
&
sa
,
0
,
sizeof
(
sa
));
sa
.
sun_family
=
AF_LOCAL
;
strncpy
((
char
*
)
&
sa
.
sun_path
,
path
,
sizeof
(
sa
.
sun_path
));
sa
.
sun_path
[
sizeof
(
sa
.
sun_path
)
-
1
]
=
'\0'
;
memset
(
&
addr
,
0
,
sizeof
(
addr
));
addr
.
sa_family
=
sa
.
sun_family
;
addr
.
sa_addrlen
=
sizeof
(
sa
);
addr
.
sa_addr
.
un
=
sa
;
return
addr
;
}
address.h
0 → 100644
View file @
58737d9f
#ifndef HIREDIS_ADDRESS_H
#define HIREDIS_ADDRESS_H 1
/* struct sockaddr_(in|in6|un) */
#include <netinet/in.h>
#include <sys/un.h>
typedef
struct
redis_address_s
redis_address
;
struct
redis_address_s
{
int
sa_family
;
socklen_t
sa_addrlen
;
union
{
struct
sockaddr
addr
;
struct
sockaddr_in
in
;
struct
sockaddr_in6
in6
;
struct
sockaddr_un
un
;
}
sa_addr
;
};
redis_address
redis_address_in
(
const
char
*
ip
,
int
port
);
redis_address
redis_address_in6
(
const
char
*
ip
,
int
port
);
redis_address
redis_address_un
(
const
char
*
path
);
#endif
handle.h
View file @
58737d9f
#ifndef _HIREDIS_HANDLE_H
#ifndef _HIREDIS_HANDLE_H
#define _HIREDIS_HANDLE_H 1
#define _HIREDIS_HANDLE_H 1
/* struct sockaddr_(in|in6|un) */
#include <netinet/in.h>
#include <sys/un.h>
/* struct timeval */
/* struct timeval */
#include <sys/time.h>
#include <sys/time.h>
/* local */
/* local */
#include "parser.h"
#include "parser.h"
#include "address.h"
#define REDIS_OK 0
#define REDIS_OK 0
#define REDIS_ESYS -1
#define REDIS_ESYS -1
...
@@ -18,7 +15,6 @@
...
@@ -18,7 +15,6 @@
#define REDIS_EEOF -4
#define REDIS_EEOF -4
typedef
struct
redis_handle_s
redis_handle
;
typedef
struct
redis_handle_s
redis_handle
;
typedef
struct
redis_address_s
redis_address
;
struct
redis_handle_s
{
struct
redis_handle_s
{
int
fd
;
int
fd
;
...
@@ -28,17 +24,6 @@ struct redis_handle_s {
...
@@ -28,17 +24,6 @@ struct redis_handle_s {
char
*
rbuf
;
char
*
rbuf
;
};
};
struct
redis_address_s
{
int
sa_family
;
socklen_t
sa_addrlen
;
union
{
struct
sockaddr
addr
;
struct
sockaddr_in
in
;
struct
sockaddr_in6
in6
;
struct
sockaddr_un
un
;
}
sa_addr
;
};
int
redis_handle_init
(
redis_handle
*
h
);
int
redis_handle_init
(
redis_handle
*
h
);
int
redis_handle_close
(
redis_handle
*
);
int
redis_handle_close
(
redis_handle
*
);
int
redis_handle_destroy
(
redis_handle
*
);
int
redis_handle_destroy
(
redis_handle
*
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment