File: adb.h

package info (click to toggle)
ocp 1%3A0.1.21-1.1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 5,344 kB
  • ctags: 7,862
  • sloc: ansic: 91,449; cpp: 9,729; sh: 3,119; makefile: 2,482
file content (53 lines) | stat: -rw-r--r-- 1,336 bytes parent folder | download | duplicates (3)
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
#ifndef _ADB_H
#define _ADB_H

enum
{
	adbCallGet, adbCallDelete, adbCallMoveTo, adbCallMoveFrom, adbCallPut
};

struct adbregstruct
{
	const char *ext;
	int (*Scan)(const char *path);
	int (*Call)(const int act, const char *apath, const char *fullname, const int fd);
	struct adbregstruct *next;
};

#define ADBREGSTRUCT_TAIL ,0

#define ARC_PATH_MAX 127
struct __attribute__((packed)) arcentry
{
#define ADB_USED 1
#define ADB_DIRTY 2
#define ADB_ARC 4
	uint8_t flags;
	uint32_t parent;
	char name[ARC_PATH_MAX+1]; /* some stupid archives needs full path, which can be long */
	uint32_t size;
};

extern char adbInit(void);
extern void adbUpdate(void);
extern void adbClose(void);
extern int adbCallArc(const char *cmd, const char *arc, const char *name, const char *dir);

extern int adbAdd(const struct arcentry *a);
extern uint32_t adbFind(const char *arcname);
extern int isarchivepath(const char *p);

extern const char adbsigv1[16];
extern const char adbsigv2[16];

extern void adbRegister(struct adbregstruct *r);
extern void adbUnregister(struct adbregstruct *r);

#include <stdio.h>
struct modlistentry;
extern FILE *adb_ReadHandle(struct modlistentry *entry);
extern int adb_ReadHeader(struct modlistentry *entry, char *mem, size_t *size);
extern int adb_Read(struct modlistentry *entry, char **mem, size_t *size);


#endif