libftprintf.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* libftprintf.h :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2016/02/27 00:34:04 by bchanot #+# #+# */
  9. /* Updated: 2018/10/14 03:44:53 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #ifndef LIBFTPRINTF_H
  13. # define LIBFTPRINTF_H
  14. # include <stdarg.h>
  15. # include "libft.h"
  16. # define BLACK "\033[0;30m"
  17. # define RED "\033[0;31m"
  18. # define GREEN "\033[0;32m"
  19. # define YELLOW "\033[0;33m"
  20. # define BLUE "\033[0;34m"
  21. # define PURPLE "\033[0;35m"
  22. # define CYAN "\033[0;36m"
  23. # define GREY "\033[0;37m"
  24. # define EOC "\033[0;m"
  25. typedef struct s_inf
  26. {
  27. int done;
  28. int fd;
  29. int flag;
  30. int di;
  31. int zero;
  32. int min;
  33. int space;
  34. int plus;
  35. int h;
  36. int hh;
  37. int l;
  38. int ll;
  39. int j;
  40. int z;
  41. int width;
  42. int prec;
  43. int type;
  44. } t_inf;
  45. int ft_printf(int fd, const char *format, ...);
  46. int pf_print_part(const char *format, char *s, int fd);
  47. int pf_take_color(char **s, const char **format,
  48. int *len, int fd);
  49. void pf_do_if(t_inf *inf, long long int nb, int min);
  50. t_inf pf_take_inf(char **s, va_list ap, int fd);
  51. void take_prec(char **s, t_inf *inf, va_list ap, int i);
  52. int pf_more_flag(char **s, t_inf *inf);
  53. int pf_wrong_conv(char **s, const char **format, t_inf inf,
  54. int *len);
  55. int pf_width_s(char *s, t_inf inf, int len);
  56. int pf_octlen(unsigned int n, t_inf inf);
  57. int pf_hexlen(unsigned int n);
  58. int pf_octulen(long long unsigned int n, t_inf inf);
  59. int pf_hexulen(long long unsigned int n);
  60. int pf_putoctal(unsigned int n, int fd);
  61. int pf_puthexm(unsigned int n, int fd);
  62. int pf_puthex(unsigned int n, int fd);
  63. int pf_putuoctal(long long unsigned int n, int fd);
  64. int pf_putuhexm(long long unsigned int n, int fd);
  65. int pf_putuhex(long long unsigned int n, int fd);
  66. int pf_putunbrlong(long long unsigned int n, int fd);
  67. int pf_putunbr(unsigned int n, int fd);
  68. int pf_putstr(const char *s, int fd);
  69. int pf_putnstr(const char *s, int n, int fd);
  70. int pf_percent(va_list ap, t_inf inf);
  71. int pf_c(va_list ap, t_inf inf);
  72. int pf_s(va_list ap, t_inf inf);
  73. int pf_di(va_list ap, t_inf inf);
  74. int pf_p(va_list ap, t_inf inf);
  75. int pf_x(va_list ap, t_inf inf);
  76. int pf_xlong2(int len, t_inf *inf, unsigned long long nb);
  77. int pf_u(va_list ap, t_inf inf);
  78. int pf_o(va_list ap, t_inf inf);
  79. int pf_b(va_list ap, t_inf inf);
  80. int pf_x_up(va_list ap, t_inf inf);
  81. int pf_x_uplong2(int len, t_inf *inf, unsigned long long nb);
  82. int pf_s_up(va_list ap, t_inf inf);
  83. int pf_d_up(va_list ap, t_inf inf);
  84. int pf_o_up(va_list ap, t_inf inf);
  85. int pf_u_up(va_list ap, t_inf inf);
  86. int pf_c_up(va_list ap, t_inf inf);
  87. #endif