- const char *user_pw);
-int rs_request_send(struct rs_request *request, struct rs_packet **resp_msg);
-void rs_request_destroy(struct rs_request *request);
+ const char *user_pw,
+ const char *secret);
+
+/** Send request \a req and wait for a matching response. The
+ response is put in \a resp_msg (if not NULL). NOTE: At present,
+ no more than one outstanding request to a given realm is
+ supported. This will change in a future version. */
+int rs_request_send(struct rs_request *req, struct rs_packet **resp_msg);
+
+/** Free all memory allocated by request \a req including any request
+ packet associated with the request. Note that a request must be
+ freed before its associated connection can be freed. */
+void rs_request_destroy(struct rs_request *req);
+
+/** Return request message in request \a req. */
+struct rs_packet *rs_request_get_reqmsg(const struct rs_request *req);