ekg2  GIT master
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
Struktury danych | Definicje | Wyliczenia | Funkcje | Zmienne
Dokumentacja pliku logsqlite-fuse.c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <limits.h>
#include <time.h>
#include <errno.h>
#include <fuse.h>
#include <sqlite3.h>

Struktury danych

struct  myBuffer_t
 
struct  myDB_t
 

Definicje

#define FUSE_USE_VERSION   26
 
#define QUERY_COUNT   7
 
#define READ_ROW_COUNT   "20"
 
#define BUF_SIZE_FACTOR   4096
 
#define BUF_MAX_UNUSED   5 * 60
 
#define DT_BUF_FACTOR   16
 
#define DT_MAX_TRIES   4
 
#define DEBUG(x...)   fprintf(stderr, x)
 
#define FUSE_DEBUG   ",debug"
 

Wyliczenia

enum  statement_n {
  GET_NEWEST, GET_NEWEST_SESSION, GET_NEWEST_UID, GET_SESSIONS,
  GET_UIDS, GET_DATA, REMOVE_UID
}
 

Funkcje

void myGC (myDB_t *db)
 
int mySplitPath (const char *path, const char **sid, const char **uid)
 
int myGetAttr (const char *path, struct stat *out)
 
int myReadDir (const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi)
 
myBuffer_tmyBufferFind (myDB_t *db, const char *sid, const char *uid, off_t offset)
 
const char * myBodyEscape (const char *in)
 
const char * myTimestampFormat (const time_t timestamp)
 
void myBufferStep (sqlite3_stmt *stmt, myBuffer_t *buf)
 
int myReadFile (const char *path, char *out, size_t count, off_t offset, struct fuse_file_info *fi)
 
int myUnlink (const char *path)
 
int myReleaseFile (const char *path, struct fuse_file_info *fi)
 
int main (int argc, char *argv[])
 

Zmienne

static const char * queries [7+1]
 
static struct fuse_operations ops
 

Dokumentacja definicji

#define BUF_MAX_UNUSED   5 * 60
#define BUF_SIZE_FACTOR   4096
#define DEBUG (   x...)    fprintf(stderr, x)
#define DT_BUF_FACTOR   16
#define DT_MAX_TRIES   4
#define FUSE_DEBUG   ",debug"
#define FUSE_USE_VERSION   26
#define QUERY_COUNT   7
#define READ_ROW_COUNT   "20"

Dokumentacja typów wyliczanych

Wartości wyliczeń
GET_NEWEST 
GET_NEWEST_SESSION 
GET_NEWEST_UID 
GET_SESSIONS 
GET_UIDS 
GET_DATA 
REMOVE_UID 

Dokumentacja funkcji

int main ( int  argc,
char *  argv[] 
)
const char* myBodyEscape ( const char *  in)
myBuffer_t* myBufferFind ( myDB_t db,
const char *  sid,
const char *  uid,
off_t  offset 
)
void myBufferStep ( sqlite3_stmt *  stmt,
myBuffer_t buf 
)
void myGC ( myDB_t db)
int myGetAttr ( const char *  path,
struct stat *  out 
)
int myReadDir ( const char *  path,
void *  buf,
fuse_fill_dir_t  filler,
off_t  offset,
struct fuse_file_info *  fi 
)
int myReadFile ( const char *  path,
char *  out,
size_t  count,
off_t  offset,
struct fuse_file_info *  fi 
)
int myReleaseFile ( const char *  path,
struct fuse_file_info *  fi 
)
int mySplitPath ( const char *  path,
const char **  sid,
const char **  uid 
)
const char* myTimestampFormat ( const time_t  timestamp)
int myUnlink ( const char *  path)

Dokumentacja zmiennych

struct fuse_operations ops
static
Wartość początkowa:
= {
.getattr = &myGetAttr,
.readdir = &myReadDir,
.read = &myReadFile,
.unlink = &myUnlink,
.release = &myReleaseFile
}
const char* queries[7+1]
static
Wartość początkowa:
= {
"SELECT ts FROM log_msg ORDER BY ts DESC LIMIT 1;",
"SELECT ts FROM log_msg WHERE session = ?1 ORDER BY ts DESC LIMIT 1;",
"SELECT ts FROM log_msg WHERE session = ?1 AND uid = ?2 ORDER BY ts DESC LIMIT 1;",
"SELECT DISTINCT session FROM log_msg ORDER BY session ASC LIMIT -1 OFFSET ?1;",
"SELECT DISTINCT uid FROM log_msg WHERE session = ?2 ORDER BY uid ASC LIMIT -1 OFFSET ?1;",
"SELECT type, sent, uid, nick, ts, sentts, body FROM log_msg WHERE session = ?1 AND uid = ?2 ORDER BY ts ASC LIMIT " "20" " OFFSET ?3;",
"DELETE FROM log_msg WHERE session = ?1 AND uid = ?2;",
}