--- /dev/null
+#ifndef GLITE_JP_BACKEND_PRIVATE_H
+#define GLITE_JP_BACKEND_PRIVATE_H
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "feed.h"
+
+#include "glite/jp/backend.h"
+
+int glite_jppsbe_init(
+       glite_jp_context_t ctx,
+       int argc,
+       char *argv[]
+);
+
+int glite_jppsbe_init_slave(
+       glite_jp_context_t ctx
+);
+
+int glite_jppsbe_register_job( 
+       glite_jp_context_t ctx,
+       const char *job,
+       const char *owner
+);
+
+int glite_jppsbe_start_upload(
+       glite_jp_context_t ctx,
+       const char *job,
+       const char *class,      /* must be filesystem-friendly */
+       const char *name,       /* optional name within the class */
+       const char *content_type,
+       char **destination_out,
+       time_t *commit_before_inout
+);
+
+int glite_jppsbe_commit_upload(
+       glite_jp_context_t ctx,
+       const char *destination
+);
+
+
+/** mark the job as sent to this feed */
+int glite_jppsbe_set_fed(
+       glite_jp_context_t ctx,
+       const char *feed,
+       const char *job
+);
+
+/** check whether the job has been already sent to this feed */
+int glite_jppsbe_check_fed(
+       glite_jp_context_t ctx,
+       const char *feed,
+       const char *job,
+       int *result
+);
+
+/** store the feed to database */
+int glite_jppsbe_store_feed(
+       glite_jp_context_t ctx,
+       struct jpfeed *feed
+);
+
+/** purge expired feeds */
+int glite_jppsbe_purge_feeds(
+       glite_jp_context_t ctx
+);
+
+/** read stored feed into context */
+int glite_jppsbe_read_feeds(
+       glite_jp_context_t ctx
+);
+
+#endif /* GLITE_JP_BACKEND_PRIVATE_H */