1f93b55a5SGui Andrade // RUN: %clangxx -O0 %s -o %t && %run %t | FileCheck %s
2*2ead4fcaSStephan Bergmann // REQUIRES: sunrpc, !android
3f93b55a5SGui Andrade #include <cassert>
4f93b55a5SGui Andrade #include <rpc/xdr.h>
5f93b55a5SGui Andrade
print_msg(char * handle,char * buf,int len)6f93b55a5SGui Andrade int print_msg(char *handle, char *buf, int len) {
7f93b55a5SGui Andrade if (len > 0) {
8f93b55a5SGui Andrade for (size_t i = 0; i < len; i++) {
9f93b55a5SGui Andrade printf("%02x ", (uint8_t)buf[i]);
10f93b55a5SGui Andrade }
11f93b55a5SGui Andrade printf("\n");
12f93b55a5SGui Andrade }
13f93b55a5SGui Andrade return len;
14f93b55a5SGui Andrade }
15f93b55a5SGui Andrade
main()16f93b55a5SGui Andrade int main() {
17f93b55a5SGui Andrade XDR xdrs;
18f93b55a5SGui Andrade xdrs.x_op = XDR_ENCODE;
19f93b55a5SGui Andrade
20f93b55a5SGui Andrade xdrrec_create(&xdrs, 0, 0, nullptr, nullptr, print_msg);
21f93b55a5SGui Andrade unsigned foo = 42;
22f93b55a5SGui Andrade assert(xdr_u_int(&xdrs, &foo));
23f93b55a5SGui Andrade assert(xdrrec_endofrecord(&xdrs, /*sendnow*/ true));
24f93b55a5SGui Andrade xdr_destroy(&xdrs);
25f93b55a5SGui Andrade }
26f93b55a5SGui Andrade
27f93b55a5SGui Andrade // CHECK: 00 00 00 2a
28