@@ -21,9 +21,40 @@ sz size; char* ptr; } ksmut; +typedef enum kscond { + kscond_ok, + kscond_fail, + kscond_unimplemented, + kscond_nonnumeric, +} kscond; + +enum ksconv { + ksconv_default = 0, + + ksconv_raw = 1, + ksconv_bin = 2, + ksconv_oct = 8, + ksconv_dec = 10, + ksconv_hex = 16, + ksconv_b32 = 32, + + ksconv_partial = 1 << 7, + ksconv_nopfx = 1 << 8, + ksconv_endh = 1 << 9, + ksconv_endl = 1 << 10, +}; + +kscond ks_to_int(ksraw str, + enum ksconv mode, + u8* dest, sz size); + +kscond ks_of_int(u8* number, sz size, + enum ksconv mode, + char* bufstart, sz bufsize); + #ifdef __cplusplus } #endif #endif