-
Notifications
You must be signed in to change notification settings - Fork 0
/
libft.h
140 lines (122 loc) · 4.42 KB
/
libft.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* libft.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mesafi <mesafi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/30 23:42:38 by mesafi #+# #+# */
/* Updated: 2020/01/21 21:01:51 by mesafi ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef LIBFT_H
/*
** Definitions
*/
# define LIBFT_H
# define BUFF_SIZE 1000
# define ABS(x) ((x < 0) ? -x : x )
/*
** Includes
*/
# include <string.h>
# include <unistd.h>
# include <stdlib.h>
# include <fcntl.h>
/*
** Structures
*/
typedef struct s_lst
{
int fd;
char *res;
struct s_lst *next;
} t_lst;
typedef struct s_list
{
void *content;
size_t content_size;
struct s_list *next;
} t_list;
/*
** libc Functions
*/
int ft_atoi(const char *str);
int ft_isalnum(int c);
int ft_isalpha(int c);
int ft_isascii(int c);
int ft_isdigit(int arg);
int ft_isprint(int c);
size_t ft_strlen(const char *str);
int ft_tolower(int ch);
int ft_toupper(int ch);
char *ft_strdup(const char *s1);
char *ft_strcpy(char *dest, const char *src);
char *ft_strncpy(char *dst, const char *src, size_t len);
char *ft_strcat(char *dest, const char *src);
char *ft_strncat(char *dest, const char *src, size_t n);
size_t ft_strlcat(char *dst, const char *src, size_t size);
char *ft_strchr(const char *s, int c);
char *ft_strrchr(const char *str, int c);
char *ft_strstr(const char *str, const char *needle);
char *ft_strnstr(const char *str, const char *needle, size_t len);
int ft_strcmp(const char *s1, const char *s2);
int ft_strncmp(const char *s1, const char *s2, size_t n);
void ft_putchar(char c);
void ft_putstr(char const *s);
void ft_putnbr(int n);
void ft_putendl(char const *s);
void ft_strclr(char *s);
void ft_strdel(char **as);
char *ft_strnew(size_t size);
char **ft_strsplit(char const *s, char c);
void ft_striter(char *s, void (*f)(char *));
void ft_striteri(char *s, void (*f)(unsigned int, char *));
char *ft_itoa(int n);
char *ft_strmap(char const *s, char (*f)(char));
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
int ft_strequ(char const *s1, char const *s2);
int ft_strnequ(char const *s1, char const *s2, size_t n);
char *ft_strsub(char const *s, unsigned int start, size_t len);
char *ft_strjoin(char const *s1, char const *s2);
char *ft_strtrim(char const *s);
void ft_putchar_fd(char c, int fd);
void ft_putstr_fd(char const *s, int fd);
void ft_putendl_fd(char const *s, int fd);
void ft_putnbr_fd(int n, int fd);
char *ft_strjoin_free(char const *s1, char const *s2, int option);
int get_int_len(int nbr);
/*
** Memory Functions
*/
void *ft_memccpy(void *dest, const void *src, int c, 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);
void *ft_memalloc(size_t size);
void ft_memdel(void **ap);
void *ft_memchr(const void *str, int c, size_t n);
int ft_memcmp(const void *str1, const void *str2, size_t n);
void ft_bzero(void *s, size_t n);
/*
** Linked List Functions
*/
t_list *ft_lstnew(void const *content, size_t content_size);
void ft_lstdelone(t_list **alst, void (*del)(void *, size_t));
void ft_lstdel(t_list **alst, void (*del)(void *, size_t));
void ft_lstadd(t_list **alst, t_list *new);
void ft_lstiter(t_list *lst, void (*f)(t_list *elem));
t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *elem));
void ft_lstadd_i(t_list **head, t_list *new, int i);
int ft_lstcount(t_list *head);
void ft_lstpop(t_list *head);
void ft_lstpush(t_list *head, t_list *new);
void ft_lstrm(t_list **head);
void ft_lstrm_i(t_list **head, int i);
void ft_putlst(t_list *head);
/*
** Extra Functions
*/
int get_next_line(const int fd, char **line);
void ft_del(void *src, size_t len);
#endif