text: /* ************************************************************************** */
  /*                                                                            */
  /*                                                        :::      ::::::::   */
  /*   libft.h                                            :+:      :+:    :+:   */
  /*                                                    +:+ +:+         +:+     */
  /*   By: skunz <skunz@student.42.us.org>            +#+  +:+       +#+        */
  /*                                                +#+#+#+#+#+   +#+           */
  /*   Created: 2018/09/20 22:03:14 by skunz             #+#    #+#             */
  /*   Updated: 2018/11/27 09:43:02 by skunz            ###   ########.fr       */
  /*                                                                            */
  /* ************************************************************************** */
  
  #ifndef LIBFT_H
  # define LIBFT_H
  
  # include <string.h>
  # include <stdlib.h>
  # include <unistd.h>
  
  /*
  **  Linked List Structure
  */
  
  typedef struct		s_list
  {
  	void			*content;
  	size_t			content_size;
  	struct s_list	*next;
  }					t_list;
  
  /*
  **  Prototypes for libc-functions
  */
  
  int					ft_atoi(const char *str);
  void				ft_bzero(void *s, size_t n);
  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_memccpy(void *dest, const void *src, int c, size_t n);
  void				*ft_memchr(const void *s, int c, size_t n);
  int					ft_memcmp(const void *str1, const void *str2, 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_strcat(char *dest, const char *src);
  char				*ft_strchr(const char *s, int c);
  int					ft_strcmp(const char *s1, const char *s2);
  char				*ft_strcpy(char *dest, const char *src);
  char				*ft_strdup(const char *s);
  size_t				ft_strlcat(char *dst, const char *src, size_t size);
  size_t				ft_strlen(const char *s);
  char				*ft_strncat(char *dest, const char *src, size_t n);
  int					ft_strncmp(const char *s1, const char *s2, size_t n);
  char				*ft_strncpy(char *dest, const char *src, size_t n);
  char				*ft_strnstr(const char *big, const char	*little,
  					size_t len);
  char				*ft_strrchr(const char *s, int c);
  char				*ft_strstr(const char *big, const char	*little);
  int					ft_tolower(int c);
  int					ft_toupper(int c);
  
  /*
  **  Prototypes for additional-functions
  */
  
  char				*ft_itoa(int n);
  void				*ft_memalloc(size_t size);
  void				ft_memdel(void **ap);
  void				ft_putchar(char c);
  void				ft_putchar_fd(char c, int fd);
  void				ft_putendl(char const *s);
  void				ft_putendl_fd(char const *s, int fd);
  void				ft_putnbr(int n);
  void				ft_putnbr_fd(int n, int fd);
  void				ft_putstr(char const *s);
  void				ft_putstr_fd(char const *s, int fd);
  void				ft_strclr(char *s);
  void				ft_strdel(char **as);
  int					ft_strequ(char const *s1, char const *s2);
  void				ft_striter(char *s, void (*f)(char *));
  void				ft_striteri(char *s, void (*f)(unsigned int, char *));
  char				*ft_strjoin(char const *s1, char const*s2);
  char				*ft_strmap(char const *s, char (*f)(char));
  char				*ft_strmapi(char const *s, char(*f)(unsigned int, char));
  int					ft_strnequ(char const *s1, char const *s2, size_t n);
  char				*ft_strnew(size_t size);
  char				**ft_strsplit(char const *s, char c);
  char				*ft_strsub(char const *s, unsigned int start, size_t len);
  char				*ft_strtrim(char const *s);
  
  /*
  **  Prototypes for bonus-functions
  */
  
  void				ft_lstadd(t_list **alst, t_list *new);
  void				ft_lstdel(t_list **alst, void (*del)(void *, size_t));
  void				ft_lstdelone(t_list **alst, void (*del)(void *, size_t));
  void				ft_lstiter(t_list *lst, void (*f)(t_list *elem));
  t_list				*ft_lstmap(t_list *lst, t_list *(*f)(t_list *elem));
  t_list				*ft_lstnew(void const *content, size_t content_size);
  
  /*
  **  Prototypes for my-functions
  */
  
  size_t				ft_intlen(int n);
  int					ft_islower(int c);
  int					ft_isupper(int c);
  int					ft_iswhitespace(char c);
  size_t				ft_lstsize(t_list *begin_list);
  void				ft_printinbaselower(int base, int nb);
  void				ft_printinbaseupper(int base, int nb);
  void				ft_putnbru(unsigned int n);
  void				ft_free2d(char **array, int len);
  void				ft_free2dint(int **array, int len);
  
  #endif
  