⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 session.h

📁 Oracle调用接口
💻 H
字号:
#ifndef __SESSION_H_#define __SESSION_H_#include <errno.h>#include <sys/ipc.h>#include <sys/sem.h>#include <sys/shm.h>#include <sys/types.h>#include <unistd.h>#include <string.h>#include <stdio.h>#include <stdlib.h>// C++ includes #include <map>#include <vector>#include <string>#define FKEY "/tmp/session"#define PROJ 57#define MAXSESSIONS 512#define MAXSESSIZE 2048#define SIDSIZE 9 /* nineth byte is for 0 */#define EXPIRE  600 /* seconds */#define ALLSIZE (sizeof(int)+sizeof(session)*MAXSESSIONS)typedef struct _session {	time_t touched;	char sid[SIDSIZE];	char data[MAXSESSIZE];} session;typedef struct _sessionslist {	int nsessions;	int seed; // for srand to generate unique id	session s[MAXSESSIONS];} sessionslist;class Session {private:	map<string,string> data;	time_t	touched;public:	Session();	Session(char *data,time_t touched);	~Session();	void init(char *data,time_t touched);	string &get(const string &key);	time_t getTouched() const { return touched; }	void set(const string &key,const string &val);	char *to_string();};bool getSession(const char *sid,Session &s);bool addSession(const char *sid,Session &s);bool destroy();bool getInfo(int &,int &,vector<string> &,vector<string> &,vector<time_t> &);char *getUniqueId();void cleanUp(sessionslist *slist);int getSemID(key_t key);int getShmID(key_t key);int lockSession(int semid);int unlockSession(int semid);bool removeSessions();#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -