summaryrefslogtreecommitdiff
path: root/42sh/src/IO/IOBackend.h
blob: dc190db9d68ffdd2a4dc93c7668a00ad5e45ba7a (plain)
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
#ifndef IOBACKEND_H
#define IOBACKEND_H

#include "utils/libstring.h"

#undef DEFAULT_RW_SIZE

/**
 * @brief Represents the 'count' parameter used in read/write syscalls.
 */
#define DEFAULT_RW_SIZE 256

/**
 * @brief Retrieves the input provided to the main program.
 *
 * This function processes the program arguments and returns them as a single
 * heap-allocated string. The returned string always ends with a null byte
 * (`\0`).
 *
 * @param argc The argument count passed to main().
 * @param argv The argument vector passed to main().
 * @return A pointer to a `struct string` containing the input, or `NULL` on
 * failure.
 */
struct string *get_input(int argc, char *argv[]);

#endif /* ! IOBACKEND_H */