diff options
Diffstat (limited to 'libft/libft.h')
-rw-r--r-- | libft/libft.h | 93 |
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 |