diff --git a/include/cutils/ashmem.h b/include/cutils/ashmem.h
index fd71352..6e19ad4 100644
--- a/include/cutils/ashmem.h
+++ b/include/cutils/ashmem.h
@@ -10,6 +10,8 @@
 #ifndef _CUTILS_ASHMEM_H
 #define _CUTILS_ASHMEM_H
 
+#include <stdint.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/include/cutils/native_handle.h b/include/cutils/native_handle.h
index 2b64893..298270b 100644
--- a/include/cutils/native_handle.h
+++ b/include/cutils/native_handle.h
@@ -17,6 +17,10 @@
 #ifndef NATIVE_HANDLE_H_
 #define NATIVE_HANDLE_H_
 
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
 typedef struct
 {
     int version;        /* sizeof(native_handle) */
@@ -25,4 +29,66 @@
     int data[0];        /* numFds + numInts ints */
 } native_handle;
 
+
+/*
+ * native_handle_dup
+ * 
+ * duplicates a native handle. All source file descriptors are dup()'ed.
+ * 
+ * lhs.numFds must be 0 or match rhs.numFds
+ * lhs.numInts must be 0 or match rhs.numInts
+ * 
+ * if lhs.numFds and lhs.numInts are set to 0, they are the only fields
+ * updated, this can be used to figure out the size needed for copying rhs.
+ * 
+ * return 0 on success, or a negative error code on failure
+ * 
+ */
+int native_handle_dup(native_handle* lhs, native_handle const* rhs);
+
+
+/*
+ * native_handle_close
+ * 
+ * closes the file descriptors contained in this native_handle
+ * 
+ * return 0 on success, or a negative error code on failure
+ * 
+ */
+int native_handle_close(const native_handle* h);
+
+
+/*
+ * native_handle_create
+ * 
+ * creates a native_handle and initializes it. must be destroyed with
+ * native_handle_delete().
+ * 
+ */
+native_handle* native_handle_create(int numFds, int numInts);
+
+/*
+ * native_handle_delete
+ * 
+ * frees a native_handle allocated with native_handle_create().
+ * This ONLY frees the memory allocated for the native_handle, but doesn't
+ * close the file descriptors; which can be achieved with native_handle_close().
+ * 
+ * return 0 on success, or a negative error code on failure
+ * 
+ */
+int native_handle_delete(native_handle* h);
+
+
+/*
+ * native_handle_copy
+ * 
+ * makes a deep copy of rhs. If rhs is null, returns null.
+ * 
+ */
+native_handle* native_handle_copy(const native_handle* rhs);
+
+
+__END_DECLS
+
 #endif /* NATIVE_HANDLE_H_ */
