summaryrefslogtreecommitdiff
path: root/libft/libft.h
diff options
context:
space:
mode:
Diffstat (limited to 'libft/libft.h')
-rw-r--r--libft/libft.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/libft/libft.h b/libft/libft.h
new file mode 100644
index 0000000..09e82d3
--- /dev/null
+++ b/libft/libft.h
@@ -0,0 +1,93 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* libft.h :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: kdx <kdx @student.42angouleme.fr +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2022/09/28 04:34:06 by kdx #+# #+# */
+/* Updated: 2022/10/12 10:01:24 by kdx ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#ifndef LIBFT_H
+# define LIBFT_H
+# include <stdlib.h>
+# include <stdint.h>
+# include <stdarg.h>
+
+typedef int8_t t_i8;
+typedef int16_t t_i16;
+typedef int32_t t_i32;
+typedef int64_t t_i64;
+typedef __int128_t t_i128;
+typedef uint8_t t_u8;
+typedef uint16_t t_u16;
+typedef uint32_t t_u32;
+typedef uint64_t t_u64;
+typedef __uint128_t t_u128;
+typedef t_u32 t_err;
+
+int ft_atoi(const char *nptr);
+void ft_bzero(void *s, size_t n);
+void *ft_calloc(size_t nmemb, size_t size);
+int ft_isalnum(int c);
+int ft_isalpha(int c);
+int ft_isascii(int c);
+int ft_isdigit(int c);
+int ft_isprint(int c);
+void *ft_memchr(const void *s, int c, size_t n);
+int ft_memcmp(const void *s1, const void *s2, size_t n);
+void *ft_memcpy(void *dest, const void *src, size_t n);
+void *ft_memmove(void *dest, const void *src, size_t n);
+void *ft_memset(void *s, int c, size_t n);
+char *ft_strchr(const char *s, int c);
+char *ft_strdup(const char *s);
+size_t ft_strlcat(char *dst, const char *src, size_t size);
+size_t ft_strlcpy(char *dst, const char *src, size_t size);
+size_t ft_strlen(const char *s);
+int ft_strncmp(const char *s1, const char *s2, size_t n);
+char *ft_strnstr(const char *big, const char *little, size_t len);
+char *ft_strrchr(const char *s, int c);
+int ft_tolower(int c);
+int ft_toupper(int c);
+
+char *ft_substr(char const *s, unsigned int start, size_t len);
+char *ft_strjoin(char const *s1, char const *s2);
+char *ft_strtrim(char const *s1, char const *set);
+char **ft_split(char const *s, char c);
+char *ft_itoa(int n);
+char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
+void ft_striteri(char *s, void (*f)(unsigned int, char*));
+size_t ft_putchar_fd(char c, int fd);
+size_t ft_putstr_fd(char *s, int fd);
+void ft_putendl_fd(char *s, int fd);
+void ft_putnbr_fd(int n, int fd);
+size_t ft_puti128_fd(t_i128 n, int fd);
+size_t ft_putu128x_fd(t_u128 n, int fd, int capitalize);
+
+typedef struct s_list
+{
+ void *content;
+ struct s_list *next;
+} t_list;
+
+t_list *ft_lstnew(void *content);
+void ft_lstadd_front(t_list **lst, t_list *new);
+int ft_lstsize(t_list *lst);
+t_list *ft_lstlast(t_list *lst);
+void ft_lstadd_back(t_list **lst, t_list *new);
+void ft_lstdelone(t_list *lst, void (*del)(void *));
+void ft_lstclear(t_list **lst, void (*del)(void *));
+void ft_lstiter(t_list *lst, void (*f)(void *));
+t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *));
+
+t_i32 ft_vdprintf(int fd, const char *fmt, va_list va);
+t_i32 ft_dprintf(int fd, const char *fmt, ...);
+t_i32 ft_vprintf(const char *fmt, va_list va);
+t_i32 ft_printf(const char *fmt, ...);
+
+void *ft_free(void *ptr);
+t_err ft_alloc(void *ptr, size_t size);
+
+#endif