yumapro  20.10-12
YumaPro SDK
ses_msg.h File Reference

NETCONF Session Message Common definitions module. More...

#include <xmlstring.h>
#include <xmlreader.h>
#include "dlq.h"
#include "log.h"
#include "ses.h"
Include dependency graph for ses_msg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ses_msg_tempchunk_t_
 save the chunks before putting them back into ses_buff_t structs More...
 

Functions

void ses_msg_init (void)
 Initialize the session message manager module data structures. More...
 
void ses_msg_cleanup (void)
 Cleanup the session message manager module data structures. More...
 
status_t ses_msg_new_msg (ses_msg_t **msg)
 Malloc a new session message control header. More...
 
void ses_msg_free_msg (ses_cb_t *scb, ses_msg_t *msg)
 Free the session message and all its buffer chunks. More...
 
status_t ses_msg_new_buff (ses_cb_t *scb, boolean outbuff, ses_msg_buff_t **buff)
 Malloc a new session buffer chuck. More...
 
void ses_msg_free_buff (ses_cb_t *scb, ses_msg_buff_t *buff)
 Free the session buffer chunk. More...
 
status_t ses_msg_write_buff (ses_cb_t *scb, ses_msg_buff_t *buff, xmlChar ch)
 Add some text to the message buffer. More...
 
status_t ses_msg_send_buffs (ses_cb_t *scb, boolean *anyout)
 Send multiple buffers to the session client socket Tries to send one packet at maximum MTU. More...
 
status_t ses_msg_new_output_buff (ses_cb_t *scb, boolean start_chunk_mode)
 Put the current outbuff on the outQ. More...
 
void ses_msg_make_inready (ses_cb_t *scb)
 Put the session on the inreadyQ if it is not already there. More...
 
void ses_msg_make_outready (ses_cb_t *scb)
 Put the session on the outreadyQ if it is not already there. More...
 
void ses_msg_make_outready_ycontrol (ses_cb_t *scb)
 Put the session on the outreadyQ if it is not already there. More...
 
void ses_msg_finish_outmsg (ses_cb_t *scb)
 Put the outbuff in the outQ if non-empty. More...
 
ses_ready_t * ses_msg_get_first_inready (boolean ycontrol)
 Dequeue the first entry in the inreadyQ, if any. More...
 
ses_ready_t * ses_msg_get_first_inready_ses (ses_id_t sid)
 Dequeue the first matching session entry in the inreadyQ, if any. More...
 
ses_ready_t * ses_msg_get_first_outready (void)
 Dequeue the first entry in the outreadyQ, if any. More...
 
ses_ready_t * ses_msg_get_first_outready_ycontrol (void)
 Dequeue the first entry in the outreadyQ, if any Get a ycontrol entry. More...
 
void ses_msg_dump (log_debug_t lvl, const ses_msg_t *msg, const xmlChar *text)
 Dump the message contents. More...
 
void ses_msg_add_framing (ses_cb_t *scb, ses_msg_buff_t *buff)
 Add the base:1.1 framing chars to the buffer and adjust the buffer size pointers. More...
 
void ses_msg_init_buff (ses_cb_t *scb, boolean outbuff, ses_msg_buff_t *buff)
 Init the buffer fields. More...
 
status_t ses_msg_reset_message (ses_cb_t *scb, ses_msg_t *msg, dlq_hdr_t *tempchunkQ)
 Reset a message to the provided buffer. More...
 
ses_msg_tempchunk_t * ses_msg_new_tempchunk (xmlChar *chunk, uint32 chunklen)
 Create a new temp chunk. More...
 
void ses_msg_free_tempchunk (ses_msg_tempchunk_t *tc)
 Free a temp chunk. More...
 
void ses_msg_clean_tempchunkQ (dlq_hdr_t *tempchunkQ)
 Clean a Q of ses_msg_tempchunk_t structs. More...
 
uint32 ses_msg_size_tempchunkQ (dlq_hdr_t *tempchunkQ)
 Get the size of the message in the tempchunks. More...
 
ses_msg_buff_t * ses_msg_first_outbuff (ses_cb_t *scb)
 Get the first outQ buffer. More...
 
ses_msg_buff_t * ses_msg_next_outbuff (ses_cb_t *scb, ses_msg_buff_t *curbuff)
 Get the next outQ buffer. More...
 
size_t ses_msg_buff_size (ses_msg_buff_t *buff)
 Get the number of bytes in the buffer (not the buffer size) More...
 
size_t ses_msg_copy_buff (ses_msg_buff_t *buff, xmlChar *retbuff, size_t retbuff_size)
 Copy the buffer data to another buffer. More...
 
void ses_msg_clean_outbuffs (ses_cb_t *scb)
 Clean the message out buffers for next use. More...
 
xmlChar * ses_msg_convert_outbuffs (ses_cb_t *scb, uint32 *len)
 Clean the message out buffers for next use. More...
 
status_t ses_msg_add_input_msg (ses_cb_t *scb, xmlChar *data, size_t datalen)
 Make a ses_msg_t to fool the session handler into thinking the HTTP code path filled in a session input message. More...
 
void ses_msg_clean_msgQ (ses_cb_t *scb)
 Clean all the input messages use by the scb Used by YP-COAP. More...
 

Detailed Description

NETCONF Session Message Common definitions module.