3 #include <ul_msg_buf.h>
6 ul_msg_buf_init(ul_msg_buf_t *buf)
8 memset(buf,0,sizeof(ul_msg_buf_t));
9 ul_dbuff_init(&buf->data, 0);
14 ul_msg_buf_destroy(ul_msg_buf_t *buf)
19 ul_dbuff_destroy(&buf->data);
25 ul_dbuff_destroy(&buf->data);
31 ul_msg_buf_rd_data(ul_msg_buf_t *buf, ul_fd_t ul_fd)
35 if (ul_dbuff_prep(&buf->data,len)<len)
38 rd_len=ul_read(ul_fd,buf->data.data, len);
39 if(rd_len!=len) return -1;
44 ul_msg_buf_rd_rest(ul_msg_buf_t *buf, ul_fd_t ul_fd)
50 if(ul_msg_buf_rd_data(buf,ul_fd)<0)
53 if(!(buf->msginfo.flg&UL_BFL_TAIL)){
57 if(!(tail=malloc(sizeof(ul_msg_buf_t))))
59 ul_msg_buf_init(tail);
60 if(ul_actailmsg(ul_fd,&tail->msginfo)<0)
62 ul_msg_buf_destroy(tail);
74 ul_msg_buf_wr(ul_msg_buf_t *buf, ul_fd_t ul_fd)
80 if (ul_newmsg(ul_fd,&buf->msginfo)<0) return -1;
82 if (ul_write(ul_fd,buf->data.data,l)!=l)
84 if(!(buf->msginfo.flg&UL_BFL_TAIL)){
85 return ul_freemsg(ul_fd);
90 if(ul_tailmsg(ul_fd,&buf->msginfo)<0)