/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   get_next_line.h                                    :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: thrieg <thrieg@student.42mulhouse.fr>      +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2024/10/17 16:43:34 by thrieg            #+#    #+#             */
/*   Updated: 2025/02/16 19:06:58 by thrieg           ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#ifndef GET_NEXT_LINE_H
# define GET_NEXT_LINE_H

# ifndef BUFFER_SIZE
#  define BUFFER_SIZE 512
# endif

# include <stdlib.h>
# include <unistd.h>

typedef struct s_gnl_list
{
	char				*buffer;
	size_t				index;
	ssize_t				nb_chars;
	int					fd;
	struct s_gnl_list	*next;
}	t_gnl_list;

typedef struct s_gnl_vector
{
	char	*buffer;
	size_t	index;
	size_t	size;
	char	finished;
}	t_gnl_vector;

char		*get_next_line(int fd);
void		gnl_cleanup_fd(int fd);

#endif
