static SCM guile_sock_send_buffer (SCM sock) { svz_socket_t *xsock; int i; SCM bv; scm_assert_smob_type (guile_svz_socket_tag, sock); xsock = (svz_socket_t *) SCM_SMOB_DATA (sock); bv = scm_c_make_bytevector (xsock->send_buffer_fill); for (i = 0; i < xsock->send_buffer_fill; i ++) scm_c_bytevector_set_x (bv, i, (xsock->send_buffer[i])); return bv; }
static void copy_to_bytevector (const uint8_t *src, unsigned int len, SCM bv) { unsigned int x = 0; assert (SCM_BYTEVECTOR_LENGTH (bv) == len); for (x = 0; x < len; x++) { scm_c_bytevector_set_x (bv, x, src[x]); } }