File: dbtext.h

package info (click to toggle)
bmf 0.9.4-10
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 388 kB
  • sloc: ansic: 5,517; sh: 322; makefile: 132
file content (53 lines) | stat: -rw-r--r-- 1,903 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* $Id: dbtext.h,v 1.3 2002/10/02 04:45:40 tommy Exp $ */

/*
 * Copyright (c) 2002 Tom Marshall <tommy@tig-grr.com>
 *
 * This program is free software.  It may be distributed under the terms
 * in the file LICENSE, found in the top level of the distribution.
 */

#ifndef _DBTEXT_H
#define _DBTEXT_H

typedef struct _dbttext dbttext_t;
struct _dbttext
{
    bool_t      (*close)(dbttext_t*);
    bool_t      (*mergeclose)(dbttext_t*,vec_t*);
    bool_t      (*unmergeclose)(dbttext_t*,vec_t*);
    bool_t      (*import)(dbttext_t*,cpchar);
    bool_t      (*export)(dbttext_t*,cpchar);
    uint        (*getmsgcount)(dbttext_t*);
    uint        (*getcount)(dbttext_t*,str_t*);

    int         fd;         /* file descriptor, if currently open */
    char*       pbuf;       /* data buffer, if currently open */
    uint        nmsgs;      /* number of messages represented in list */
    uint        nalloc;     /* items alloced in pitems */
    uint        nitems;     /* items available */
    rec_t*      pitems;     /* growing vector of items */
};

typedef struct _dbhtext dbhtext_t;
struct _dbhtext
{
    bool_t      (*close)(dbhtext_t*);
    dbt_t*      (*opentable)(dbhtext_t*,cpchar,bool_t);

    char*       dir;
};

dbh_t*  dbtext_db_open( cpchar dbhost, cpchar dbname, cpchar dbuser, cpchar dbpass );
bool_t  dbtext_db_close( dbhtext_t* pthis );
dbt_t*  dbtext_db_opentable( dbhtext_t* pthis, cpchar table, bool_t rdonly );

bool_t  dbtext_table_close( dbttext_t* pthis );
bool_t  dbtext_table_mergeclose( dbttext_t* pthis, vec_t* pmsg );
bool_t  dbtext_table_unmergeclose( dbttext_t* pthis, vec_t* pmsg );
bool_t  dbtext_table_import( dbttext_t* pthis, cpchar filename );
bool_t  dbtext_table_export( dbttext_t* pthis, cpchar filename );
uint    dbtext_table_getmsgcount( dbttext_t* pthis );
uint    dbtext_table_getcount( dbttext_t* pthis, str_t* pword );

#endif /* ndef _DBTEXT_H */