#include <stdlib.h>
#include <stdio.h>
+/* This structure is created using a transaction record.
+ * It is filled out with pile information necessary for
+ * participants involved in a transaction. */
typedef struct plistnode {
unsigned int mid;
- unsigned int *obj; //this can be cast to another type or used to point to a larger structure
- int index;
- int vote;
+ unsigned int numread; /* no of objects modified */
+ unsigned int nummod; /* no of objects read */
+ unsigned int numcreated; /* no of objects created */
+ int sum_bytes; /* total bytes of objects modified */
+ char *objread; /* Pointer to array containing oids of objects read and their version numbers*/
+ unsigned int *oidmod; /* Pointer to array containing oids of modified objects */
+ unsigned int *oidcreated; /* Pointer to array containing oids of newly created objects */
struct plistnode *next;
} plistnode_t;
plistnode_t *pCreate(int);
-unsigned int pInsert(plistnode_t*, unsigned int mid, unsigned int oid, int);
-unsigned int *pSearch(plistnode_t *, unsigned int mid);
-void pDelete(plistnode_t *);
+int pCount(plistnode_t *pile);
+int pListMid(plistnode_t *pile, unsigned int *list);
+void pDelete(plistnode_t *pile);
#endif