Re: [systemd-devel] [PATCH] sd-resolv: declare functions from .h public
On Tue, 14.01.14 19:29, Tom Gundersen (t...@jklm.no) wrote: Hi Daniel, I guess we should only do this once we decide to export the API. I guess we won't be doing that for a few releases (we'll use it internally first to make sure it is the way we want it). Or are there any benefits to these annotations even when the symbols are not exported? Well, sd-resolve is in the same situation here as sd-event or sd-bus are: not public APIs yet, but probably very soon. And given that sd-event, sd-bus, sd-memfd, ... all have the _public_ stuff sd-resolve.h probably should too. I'd merge the patch, alas it doesn't apply anymore. Daniel, could you rebase please? Also, the symbols exposed by sd_resolve need to be added to the .sym file, too. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] sd-resolv: declare functions from .h public
Hi Daniel, I guess we should only do this once we decide to export the API. I guess we won't be doing that for a few releases (we'll use it internally first to make sure it is the way we want it). Or are there any benefits to these annotations even when the symbols are not exported? -t On Tue, Jan 14, 2014 at 3:04 PM, Daniel Buch boogiewasth...@gmail.com wrote: --- src/libsystemd/sd-resolv.c | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/libsystemd/sd-resolv.c b/src/libsystemd/sd-resolv.c index b8288ba..cd79a6c 100644 --- a/src/libsystemd/sd-resolv.c +++ b/src/libsystemd/sd-resolv.c @@ -414,7 +414,7 @@ static void* thread_worker(void *p) { return NULL; } -sd_resolv_t* sd_resolv_new(unsigned n_proc) { +_public_ sd_resolv_t* sd_resolv_new(unsigned n_proc) { sd_resolv_t *resolv = NULL; int i, r; @@ -468,7 +468,7 @@ fail: return NULL; } -void sd_resolv_free(sd_resolv_t *resolv) { +_public_ void sd_resolv_free(sd_resolv_t *resolv) { int i; int saved_errno = errno; unsigned p; @@ -511,7 +511,7 @@ void sd_resolv_free(sd_resolv_t *resolv) { errno = saved_errno; } -int sd_resolv_fd(sd_resolv_t *resolv) { +_public_ int sd_resolv_fd(sd_resolv_t *resolv) { assert(resolv); return resolv-fds[RESPONSE_RECV_FD]; @@ -709,7 +709,7 @@ static int handle_response(sd_resolv_t *resolv, const packet_t *packet, size_t l return 0; } -int sd_resolv_wait(sd_resolv_t *resolv, int block) { +_public_ int sd_resolv_wait(sd_resolv_t *resolv, int block) { int handled = 0; assert(resolv); @@ -787,7 +787,7 @@ static sd_resolv_query_t *alloc_query(sd_resolv_t *resolv) { return q; } -sd_resolv_query_t* sd_resolv_getaddrinfo(sd_resolv_t *resolv, const char *node, const char *service, const struct addrinfo *hints) { +_public_ sd_resolv_query_t* sd_resolv_getaddrinfo(sd_resolv_t *resolv, const char *node, const char *service, const struct addrinfo *hints) { addrinfo_request_t data[BUFSIZE/sizeof(addrinfo_request_t) + 1] = {}; addrinfo_request_t *req = data; sd_resolv_query_t *q; @@ -840,7 +840,7 @@ fail: return NULL; } -int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct addrinfo **ret_res) { +_public_ int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct addrinfo **ret_res) { int ret; assert(resolv); assert(q); @@ -871,7 +871,7 @@ int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct return ret; } -sd_resolv_query_t* sd_resolv_getnameinfo(sd_resolv_t *resolv, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv) { +_public_ sd_resolv_query_t* sd_resolv_getnameinfo(sd_resolv_t *resolv, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv) { nameinfo_request_t data[BUFSIZE/sizeof(nameinfo_request_t) + 1] = {}; nameinfo_request_t *req = data; sd_resolv_query_t *q; @@ -917,7 +917,7 @@ fail: return NULL; } -int sd_resolv_getnameinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen) { +_public_ int sd_resolv_getnameinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen) { int ret; assert(resolv); assert(q); @@ -1002,15 +1002,15 @@ fail: return NULL; } -sd_resolv_query_t* sd_resolv_res_query(sd_resolv_t *resolv, const char *dname, int class, int type) { +_public_ sd_resolv_query_t* sd_resolv_res_query(sd_resolv_t *resolv, const char *dname, int class, int type) { return resolv_res(resolv, REQUEST_RES_QUERY, dname, class, type); } -sd_resolv_query_t* sd_resolv_res_search(sd_resolv_t *resolv, const char *dname, int class, int type) { +_public_ sd_resolv_query_t* sd_resolv_res_search(sd_resolv_t *resolv, const char *dname, int class, int type) { return resolv_res(resolv, REQUEST_RES_SEARCH, dname, class, type); } -int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char **answer) { +_public_ int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char **answer) { int ret; assert(resolv); assert(q); @@ -1043,17 +1043,17 @@ int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char return ret 0 ? -errno : ret; } -sd_resolv_query_t* sd_resolv_getnext(sd_resolv_t *resolv) { +_public_ sd_resolv_query_t* sd_resolv_getnext(sd_resolv_t *resolv) { assert(resolv); return resolv-done_head; } -int sd_resolv_getnqueries(sd_resolv_t *resolv) { +_public_ int
Re: [systemd-devel] [PATCH] sd-resolv: declare functions from .h public
Hi, I'm perfectly fine if we skip this patch, and to my understanding there is no benefits and only corresponds to external linkage. 2014/1/14 Tom Gundersen t...@jklm.no Hi Daniel, I guess we should only do this once we decide to export the API. I guess we won't be doing that for a few releases (we'll use it internally first to make sure it is the way we want it). Or are there any benefits to these annotations even when the symbols are not exported? -t On Tue, Jan 14, 2014 at 3:04 PM, Daniel Buch boogiewasth...@gmail.com wrote: --- src/libsystemd/sd-resolv.c | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/libsystemd/sd-resolv.c b/src/libsystemd/sd-resolv.c index b8288ba..cd79a6c 100644 --- a/src/libsystemd/sd-resolv.c +++ b/src/libsystemd/sd-resolv.c @@ -414,7 +414,7 @@ static void* thread_worker(void *p) { return NULL; } -sd_resolv_t* sd_resolv_new(unsigned n_proc) { +_public_ sd_resolv_t* sd_resolv_new(unsigned n_proc) { sd_resolv_t *resolv = NULL; int i, r; @@ -468,7 +468,7 @@ fail: return NULL; } -void sd_resolv_free(sd_resolv_t *resolv) { +_public_ void sd_resolv_free(sd_resolv_t *resolv) { int i; int saved_errno = errno; unsigned p; @@ -511,7 +511,7 @@ void sd_resolv_free(sd_resolv_t *resolv) { errno = saved_errno; } -int sd_resolv_fd(sd_resolv_t *resolv) { +_public_ int sd_resolv_fd(sd_resolv_t *resolv) { assert(resolv); return resolv-fds[RESPONSE_RECV_FD]; @@ -709,7 +709,7 @@ static int handle_response(sd_resolv_t *resolv, const packet_t *packet, size_t l return 0; } -int sd_resolv_wait(sd_resolv_t *resolv, int block) { +_public_ int sd_resolv_wait(sd_resolv_t *resolv, int block) { int handled = 0; assert(resolv); @@ -787,7 +787,7 @@ static sd_resolv_query_t *alloc_query(sd_resolv_t *resolv) { return q; } -sd_resolv_query_t* sd_resolv_getaddrinfo(sd_resolv_t *resolv, const char *node, const char *service, const struct addrinfo *hints) { +_public_ sd_resolv_query_t* sd_resolv_getaddrinfo(sd_resolv_t *resolv, const char *node, const char *service, const struct addrinfo *hints) { addrinfo_request_t data[BUFSIZE/sizeof(addrinfo_request_t) + 1] = {}; addrinfo_request_t *req = data; sd_resolv_query_t *q; @@ -840,7 +840,7 @@ fail: return NULL; } -int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct addrinfo **ret_res) { +_public_ int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct addrinfo **ret_res) { int ret; assert(resolv); assert(q); @@ -871,7 +871,7 @@ int sd_resolv_getaddrinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, struct return ret; } -sd_resolv_query_t* sd_resolv_getnameinfo(sd_resolv_t *resolv, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv) { +_public_ sd_resolv_query_t* sd_resolv_getnameinfo(sd_resolv_t *resolv, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv) { nameinfo_request_t data[BUFSIZE/sizeof(nameinfo_request_t) + 1] = {}; nameinfo_request_t *req = data; sd_resolv_query_t *q; @@ -917,7 +917,7 @@ fail: return NULL; } -int sd_resolv_getnameinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen) { +_public_ int sd_resolv_getnameinfo_done(sd_resolv_t *resolv, sd_resolv_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen) { int ret; assert(resolv); assert(q); @@ -1002,15 +1002,15 @@ fail: return NULL; } -sd_resolv_query_t* sd_resolv_res_query(sd_resolv_t *resolv, const char *dname, int class, int type) { +_public_ sd_resolv_query_t* sd_resolv_res_query(sd_resolv_t *resolv, const char *dname, int class, int type) { return resolv_res(resolv, REQUEST_RES_QUERY, dname, class, type); } -sd_resolv_query_t* sd_resolv_res_search(sd_resolv_t *resolv, const char *dname, int class, int type) { +_public_ sd_resolv_query_t* sd_resolv_res_search(sd_resolv_t *resolv, const char *dname, int class, int type) { return resolv_res(resolv, REQUEST_RES_SEARCH, dname, class, type); } -int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char **answer) { +_public_ int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char **answer) { int ret; assert(resolv); assert(q); @@ -1043,17 +1043,17 @@ int sd_resolv_res_done(sd_resolv_t *resolv, sd_resolv_query_t* q, unsigned char return ret 0 ? -errno : ret; } -sd_resolv_query_t*