File:  [ELWIX - Embedded LightWeight unIX -] / mqtt / inc / mqttd.h
Revision 1.1.2.6: download - view: text, annotated - select for diffs - revision graph
Tue Jan 24 10:18:44 2012 UTC (12 years, 5 months ago) by misho
Branches: mqtt1_0
commit many new code

    1: #ifndef __MQTTD_H
    2: #define __MQTTD_H
    3: 
    4: 
    5: struct tagStore {
    6: 	char				st_qos;
    7: 	u_short				st_msgid;
    8: 
    9: 	mqtt_subscr_t			st_subscr;
   10: 
   11: 	SLIST_ENTRY(tagStore)		st_node;
   12: };
   13: 
   14: struct tagSession {
   15: 	/* client session thread id */
   16: 	pthread_t			sess_tid;
   17: 
   18: 	/* client network settings */
   19: 	int				sess_sock;
   20: 	u_short				sess_ka;
   21: 	/* client send retry in miliseconds, if client not receive message */
   22: 	u_int				sess_retry;
   23: 	/* message work buffer */
   24: 	mqtt_msg_t			*sess_buf;
   25: 
   26: 	/* authentication user info */
   27: 	char				sess_cid[MAX_CONNID];
   28: 	char				sess_user[MAX_CRED];
   29: 	char				sess_pass[MAX_CRED];
   30: 	char				sess_addr[64];
   31: 
   32: 	/* connect flags */
   33: 	char				sess_clean;
   34: 	struct {
   35: 		char			flag;
   36: 		char			qos;
   37: 		char			retain;
   38: 		char			*topic;
   39: 		char			*msg;
   40: 	} sess_will;
   41: 
   42: 	/* Data Storage by QoS class */
   43: 	SLIST_HEAD(qosStore, tagStore)	sess_sndqueue;
   44: 
   45: 	TAILQ_ENTRY(tagSession)		sess_node;
   46: };
   47: typedef TAILQ_HEAD(, tagSession) sessions_t;
   48: 
   49: 
   50: extern sessions_t Sessions;
   51: extern sched_root_task_t *root;
   52: extern sl_config cfg;
   53: extern pthread_mutex_t mtx_sess, mtx_pub;
   54: 
   55: 
   56: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>