diff --git a/applypatch/applypatch.h b/applypatch/applypatch.h
index 3cb8021..10c0125 100644
--- a/applypatch/applypatch.h
+++ b/applypatch/applypatch.h
@@ -19,6 +19,7 @@
 
 #include <sys/stat.h>
 #include "mincrypt/sha.h"
+#include "edify/expr.h"
 
 typedef struct _Patch {
   uint8_t sha1[SHA_DIGEST_SIZE];
@@ -42,8 +43,21 @@
 typedef ssize_t (*SinkFn)(unsigned char*, ssize_t, void*);
 
 // applypatch.c
+int ShowLicenses();
 size_t FreeSpaceForFile(const char* filename);
-int applypatch(int argc, char** argv);
+int CacheSizeCheck(size_t bytes);
+int ParseSha1(const char* str, uint8_t* digest);
+
+int applypatch(const char* source_filename,
+               const char* target_filename,
+               const char* target_sha1_str,
+               size_t target_size,
+               int num_patches,
+               char** const patch_sha1_str,
+               Value** patch_data);
+int applypatch_check(const char* filename,
+                     int num_patches,
+                     char** const patch_sha1_str);
 
 // Read a file into memory; store it and its associated metadata in
 // *file.  Return 0 on success.
@@ -53,15 +67,15 @@
 // bsdiff.c
 void ShowBSDiffLicense();
 int ApplyBSDiffPatch(const unsigned char* old_data, ssize_t old_size,
-                     const char* patch_filename, ssize_t offset,
+                     const Value* patch, ssize_t patch_offset,
                      SinkFn sink, void* token, SHA_CTX* ctx);
 int ApplyBSDiffPatchMem(const unsigned char* old_data, ssize_t old_size,
-                        const char* patch_filename, ssize_t patch_offset,
+                        const Value* patch, ssize_t patch_offset,
                         unsigned char** new_data, ssize_t* new_size);
 
 // imgpatch.c
 int ApplyImagePatch(const unsigned char* old_data, ssize_t old_size,
-                    const char* patch_filename,
+                    const Value* patch,
                     SinkFn sink, void* token, SHA_CTX* ctx);
 
 // freecache.c
