grblHAL core  20250320
stream_file.h
Go to the documentation of this file.
1 /*
2  stream_file.h - stream redirector for file input
3 
4  Part of grblHAL
5 
6  Copyright (c) 2024-2025 Terje Io
7 
8  grblHAL is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  grblHAL is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with grblHAL. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #pragma once
23 
24 #include "vfs.h"
25 #include "core_handlers.h"
26 
27 bool stream_is_file (void);
29 void stream_set_type (stream_type_t type, vfs_file_t *file);
30 vfs_file_t *stream_redirect_read (char *filename, status_message_ptr status_handler, on_file_end_ptr eof_handler);
core function pointers and data structures definitions.
status_code_t(* on_file_end_ptr)(vfs_file_t *handle, status_code_t status)
Definition: core_handlers.h:127
status_code_t(* status_message_ptr)(status_code_t status_code)
Definition: core_handlers.h:63
stream_type_t
Definition: stream.h:82
vfs_file_t * stream_redirect_read(char *filename, status_message_ptr status_handler, on_file_end_ptr eof_handler)
Definition: stream_file.c:135
bool stream_is_file(void)
Definition: stream_file.c:130
void stream_set_type(stream_type_t type, vfs_file_t *file)
Definition: stream_file.c:123
void stream_redirect_close(vfs_file_t *file)
Definition: stream_file.c:183
Definition: vfs.h:80