summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorMichael Brown2008-06-18 01:43:58 +0200
committerMichael Brown2008-06-18 01:43:58 +0200
commit0ea821c7b774d7d4fbfc8407b2bf37ff050f4cd9 (patch)
tree94ddeca92ca0d5d1921c62be57a22d014df756b6 /src/arch/i386/include
parent[legacy] Align legacy drivers' __shared data to the maximum possible (diff)
downloadipxe-0ea821c7b774d7d4fbfc8407b2bf37ff050f4cd9.tar.gz
ipxe-0ea821c7b774d7d4fbfc8407b2bf37ff050f4cd9.tar.xz
ipxe-0ea821c7b774d7d4fbfc8407b2bf37ff050f4cd9.zip
[script] Remove arbitrary limit on script line lengths
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r--src/arch/i386/include/librm.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/i386/include/librm.h b/src/arch/i386/include/librm.h
index 32dceed67..31b509793 100644
--- a/src/arch/i386/include/librm.h
+++ b/src/arch/i386/include/librm.h
@@ -211,6 +211,23 @@ strlen_user ( userptr_t buffer, off_t offset ) {
}
/**
+ * Find character in user buffer
+ *
+ * @v buffer User buffer
+ * @v offset Starting offset within buffer
+ * @v c Character to search for
+ * @v len Length of user buffer
+ * @ret offset Offset of character, or <0 if not found
+ */
+static inline __attribute__ (( always_inline )) off_t
+memchr_user ( userptr_t buffer, off_t offset, int c, size_t len ) {
+ void *found;
+
+ found = memchr ( ( ( void * ) buffer + offset ), c, len );
+ return ( found ? ( found - ( void * ) buffer ) : -1 );
+}
+
+/**
* Convert virtual address to user buffer
*
* @v virtual Virtual address