32 lines
326 B
C
32 lines
326 B
C
/*
|
|
* S-expressions as used by IMAP.
|
|
*/
|
|
|
|
enum
|
|
{
|
|
SxUnknown = 0,
|
|
SxAtom,
|
|
SxString,
|
|
SxNumber,
|
|
SxList
|
|
};
|
|
|
|
typedef struct Sx Sx;
|
|
struct Sx
|
|
{
|
|
int type;
|
|
char *data;
|
|
int ndata;
|
|
vlong number;
|
|
Sx **sx;
|
|
int nsx;
|
|
};
|
|
|
|
Sx* Brdsx(Biobuf*);
|
|
Sx* Brdsx1(Biobuf*);
|
|
void freesx(Sx*);
|
|
int oksx(Sx*);
|
|
int sxfmt(Fmt*);
|
|
int sxwalk(Sx*);
|
|
|