#include "mxcrypt.h" void main(int argc, char * const *argv) { struct mxc_sess sess[1]; char buf[256]; ssize_t len; uint16_t port; int sock_fd, sess_fd; sock_fd = mxc_socket(argc, argv); port = mxc_port(sock_fd); LOG("listening to port %hu", port); sess_fd = accept(sock_fd, NULL, NULL); assert(sess_fd != -1); mxc_sess_init(sess); mxc_hello_recv(sess, sess_fd); mxc_hello_server(sess); mxc_hello_send(sess, sess_fd); LOG("computed session key 0x%08x", sess->key); do { len = mxc_sess_recv(sess, sess_fd, buf, sizeof buf); assert(len >= 0); (void)write(STDOUT_FILENO, buf, len); } while (len > 0); (void)close(sess_fd); (void)close(sock_fd); }