xref: /aosp_15_r20/external/musl/src/network/res_send.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <resolv.h>
2*c9945492SAndroid Build Coastguard Worker #include <string.h>
3*c9945492SAndroid Build Coastguard Worker 
__res_send(const unsigned char * msg,int msglen,unsigned char * answer,int anslen)4*c9945492SAndroid Build Coastguard Worker int __res_send(const unsigned char *msg, int msglen, unsigned char *answer, int anslen)
5*c9945492SAndroid Build Coastguard Worker {
6*c9945492SAndroid Build Coastguard Worker 	int r;
7*c9945492SAndroid Build Coastguard Worker 	if (anslen < 512) {
8*c9945492SAndroid Build Coastguard Worker 		unsigned char buf[512];
9*c9945492SAndroid Build Coastguard Worker 		r = __res_send(msg, msglen, buf, sizeof buf);
10*c9945492SAndroid Build Coastguard Worker 		if (r >= 0) memcpy(answer, buf, r < anslen ? r : anslen);
11*c9945492SAndroid Build Coastguard Worker 		return r;
12*c9945492SAndroid Build Coastguard Worker 	}
13*c9945492SAndroid Build Coastguard Worker 	r = __res_msend(1, &msg, &msglen, &answer, &anslen, anslen);
14*c9945492SAndroid Build Coastguard Worker 	return r<0 || !anslen ? -1 : anslen;
15*c9945492SAndroid Build Coastguard Worker }
16*c9945492SAndroid Build Coastguard Worker 
17*c9945492SAndroid Build Coastguard Worker weak_alias(__res_send, res_send);
18