ekg2  GIT master
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>
Wykres zależności załączania dla logsqlite-fuse.c:

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

◆ BUF_MAX_UNUSED

#define BUF_MAX_UNUSED   5 * 60

◆ BUF_SIZE_FACTOR

#define BUF_SIZE_FACTOR   4096

◆ DEBUG

#define DEBUG (   x...)    fprintf(stderr, x)

◆ DT_BUF_FACTOR

#define DT_BUF_FACTOR   16

◆ DT_MAX_TRIES

#define DT_MAX_TRIES   4

◆ FUSE_DEBUG

#define FUSE_DEBUG   ",debug"

◆ FUSE_USE_VERSION

#define FUSE_USE_VERSION   26

◆ QUERY_COUNT

#define QUERY_COUNT   7

◆ READ_ROW_COUNT

#define READ_ROW_COUNT   "20"

Dokumentacja typów wyliczanych

◆ statement_n

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

Dokumentacja funkcji

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ myBodyEscape()

const char* myBodyEscape ( const char *  in)

◆ myBufferFind()

myBuffer_t* myBufferFind ( myDB_t db,
const char *  sid,
const char *  uid,
off_t  offset 
)

◆ myBufferStep()

void myBufferStep ( sqlite3_stmt *  stmt,
myBuffer_t buf 
)

◆ myGC()

void myGC ( myDB_t db)

◆ myGetAttr()

int myGetAttr ( const char *  path,
struct stat *  out 
)

◆ myReadDir()

int myReadDir ( const char *  path,
void *  buf,
fuse_fill_dir_t  filler,
off_t  offset,
struct fuse_file_info *  fi 
)

◆ myReadFile()

int myReadFile ( const char *  path,
char *  out,
size_t  count,
off_t  offset,
struct fuse_file_info *  fi 
)

◆ myReleaseFile()

int myReleaseFile ( const char *  path,
struct fuse_file_info *  fi 
)

◆ mySplitPath()

int mySplitPath ( const char *  path,
const char **  sid,
const char **  uid 
)

◆ myTimestampFormat()

const char* myTimestampFormat ( const time_t  timestamp)

◆ myUnlink()

int myUnlink ( const char *  path)

Dokumentacja zmiennych

◆ ops

struct fuse_operations ops
static
Wartość początkowa:
= {
.getattr = &myGetAttr,
.readdir = &myReadDir,
.read = &myReadFile,
.unlink = &myUnlink,
.release = &myReleaseFile
}
int myUnlink(const char *path)
Definition: logsqlite-fuse.c:470
int myReleaseFile(const char *path, struct fuse_file_info *fi)
Definition: logsqlite-fuse.c:486
int myReadFile(const char *path, char *out, size_t count, off_t offset, struct fuse_file_info *fi)
Definition: logsqlite-fuse.c:436
int myReadDir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi)
Definition: logsqlite-fuse.c:186
int myGetAttr(const char *path, struct stat *out)
Definition: logsqlite-fuse.c:141

◆ queries

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;",
}
#define NULL
Definition: oralog.c:49