-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.h
50 lines (42 loc) · 1.04 KB
/
main.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
#ifndef MAIN_H
#define MAIN_H
#include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
#include <unistd.h>
#include <limits.h>
#include <stdlib.h>
#define BUFFER_SIZE 1024
#define CLEAR_BUFFER -1
/**
* struct select_specifier - Struct select specifier.
*
* @spec: The specifier.
* @f: The function associated.
*/
typedef struct select_specifier
{
char *spec;
int (*f)(va_list);
} spec_t;
int fill_buffer(int ch);
int _print(char *);
int print_string(va_list args);
int print_char(va_list args);
int print_percentage(va_list args);
int print_integer(va_list args);
int print_bin(va_list args);
int print_unsigned(va_list args);
int print_octal(va_list args);
int print_hex(va_list args);
int print_Hex(va_list args);
int printBy_Base(unsigned int num, int base);
int print_S(va_list args);
char *handle_S(long int num, int base);
int print_address(va_list args);
int print_rev(va_list args);
int print_rot13(va_list args);
int (*specifier(char *str))(va_list args);
int get_func(char *str, va_list args);
int _printf(const char *format, ...);
#endif