add backend for zchaff
[satlib.git] / lingeling / code / lgldimacs.h
1 #ifndef LGLDIMACS_h_INCLUDED
2 #define LGLDIMACS_h_INCLUDED
3
4 #include <stdlib.h>
5 #include <stdio.h>
6
7 typedef struct LDR LDR;
8
9 typedef void * (*ldralloc) (void* state, size_t);
10 typedef void * (*ldrealloc) (void* state, void*, size_t, size_t);
11 typedef void (*ldrdealloc) (void* state, void*, size_t);
12 typedef void (*ldropt)(void *state, const char * opt, int val);
13 typedef void (*ldrheader)(void *state, int vars, int clauses);
14 typedef void (*ldradd)(void *state, int lit);
15
16 LDR * ldrinit ();
17 LDR * ldrminit (void *  state, ldralloc, ldrealloc, ldrdealloc);
18 void ldrelease (LDR *);
19
20 void ldrsetopt (LDR *, void * optmgr, ldropt);
21 void ldrsetheader (LDR *, void * header, ldrheader);
22 void ldrsetadd (LDR *, void * adder, ldradd);
23
24 void ldrsetpath (LDR *, const char * path);
25 void ldrsetfile (LDR *, FILE * file);
26 void ldrsetnamedfile (LDR *, FILE * file, const char * path);
27
28 int ldrparse (LDR *);
29
30 const char * ldrerr (LDR *);
31
32 #endif