/************************************************/
/*                                              */
/* File        : spy.h                          */
/* Description : Spy library                    */
/*                                              */
/* Author: Sfiligoi Igor                        */
/*                                              */
/* Created      : 21.07.1997                    */
/* Last modified: 23.07.1997                    */
/*                                              */
/************************************************/

#ifndef SPY_H
#define SPY_H

#ifdef __cplusplus
extern "C" {
#endif

#define SPY_ERROR_OK           0
#define SPY_ERROR_UNKNOWN      1
#define SPY_ERROR_EMPTY       10

#define SPY_TYPE_LOCAL   0
#define SPY_TYPE_REMOTE  1

typedef struct SPY_id_
        {
	  int spy_type;

	  int cid;
	  int last_event_nr;
        } SPY_id_base;

typedef SPY_id_base *SPY_id;

int spy_open_local(char *keyname,      /* IN : keyname of the Circular buffer */
		   SPY_id *sid);       /* OUT: SPY_id */

int spy_open_remote(char *socketname,  /* IN : pathname to which the socket is bound */
		    SPY_id *sid);      /* OUT: SPY_id */

int spy_get(SPY_id sid,    /* IN : SPY_id returned by spy_open_... */
	    char **buf,    /* OUT: pointer to the data */
                           /* Should be disposed by the caller */
	    int *bufsize); /* OUT: buffer size */

int spy_close(SPY_id sid);


#ifdef __cplusplus
}
#endif


#endif /* SPY_H */