commit eeddf8e6cfd70500dd779c1cde0ad1dd2b8dde61 from: Omar Polo date: Thu Jan 13 18:26:31 2022 UTC add utils.h, forgot in recent commits commit - c7067b0b78534c295ab2e5c3d2beb275f3be29eb commit + eeddf8e6cfd70500dd779c1cde0ad1dd2b8dde61 blob - /dev/null blob + 86b7395a7d1e2319fcd94a1da10c3be28ff1e45c (mode 644) --- /dev/null +++ utils.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2022 Omar Polo + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef UTILS_H +#define UTILS_H + +int mark_nonblock(int); + +int has_prefix(const char*, const char*); +int has_suffix(const char *, const char *); +int unicode_isspace(uint32_t); +int unicode_isgraph(uint32_t); + +int dispatch_imsg(struct imsgev *, short, imsg_handlerfn **, size_t); +int imsg_compose_event(struct imsgev *, uint16_t, uint32_t, pid_t, int, const void *, uint16_t); + +void *hash_alloc(size_t, void *); +void *hash_calloc(size_t, size_t, void *); +void hash_free(void *, void *); + +#endif /* UTILS_H */