aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h6
-rw-r--r--include/platform.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 1faa9e9fd..2868eba03 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -965,6 +965,12 @@ enum {
965 /* How long the longest ESC sequence we know? */ 965 /* How long the longest ESC sequence we know? */
966 KEYCODE_BUFFER_SIZE = 4 966 KEYCODE_BUFFER_SIZE = 4
967}; 967};
968/* Note: fd may be in blocking or non-blocking mode, both make sense.
969 * For one, less uses non-blocking mode.
970 * Only the first read syscall inside read_key may block indefinitely
971 * (unless fd is in non-blocking mode),
972 * subsequent reads will time out after a few milliseconds.
973 */
968int read_key(int fd, smalluint *nbuffered, char *buffer) FAST_FUNC; 974int read_key(int fd, smalluint *nbuffered, char *buffer) FAST_FUNC;
969 975
970 976
diff --git a/include/platform.h b/include/platform.h
index 47fd5f63d..317349fed 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -173,7 +173,10 @@
173/* performs reasonably well (gcc usually inlines memcpy here) */ 173/* performs reasonably well (gcc usually inlines memcpy here) */
174#define move_from_unaligned16(v, u16p) (memcpy(&(v), (u16p), 2)) 174#define move_from_unaligned16(v, u16p) (memcpy(&(v), (u16p), 2))
175#define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4)) 175#define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4))
176#define move_to_unaligned32(u32p, v) (memcpy((u32p), &(v), 4)) 176#define move_to_unaligned32(u32p, v) do { \
177 uint32_t __t = (v); \
178 memcpy((u32p), &__t, 4); \
179} while (0)
177#endif 180#endif
178 181
179/* ---- Networking ------------------------------------------ */ 182/* ---- Networking ------------------------------------------ */