#include <u.h>
#include "plumb.h"

/* XXX - Can we do better than this? */
char *cleanname(char *s) { return s; }
char *plumbunpackattr(char *cbuf) {  return 0; }
char *plumbpack(Plumbmsg *pm, int *i) { return 0; }
int plumbfree(Plumbmsg *pm) { return 0; }

