Changes for 4.5.0 snapshot
[newlib-cygwin.git] / libgloss / arc / hl / hl_gw.h
blobb019ee03832cccdea9d403b69efe8f432739f59f
1 /*
2 * hl_gw.h -- Hostlink gateway, low-level hostlink functions.
3 * This header should not be used directly, please use hl_api.h instead.
5 * Copyright (c) 2024 Synopsys Inc.
7 * The authors hereby grant permission to use, copy, modify, distribute,
8 * and license this software and its documentation for any purpose, provided
9 * that existing copyright notices are retained in all copies and that this
10 * notice is included verbatim in any distributions. No written agreement,
11 * license, or royalty fee is required for any of the authorized uses.
12 * Modifications to this software may be copyrighted by their authors
13 * and need not follow the licensing terms described here, provided that
14 * the new terms are clearly indicated on the first page of each file where
15 * they apply.
19 #ifndef _HL_GW_H
20 #define _HL_GW_H
22 #include <stdint.h>
24 #include "hl_toolchain.h"
26 /* Get hostlink payload pointer and size available for using. */
27 volatile __uncached void *_hl_payload (void);
29 /* Maximum amount of data that can be sent via hostlink in one message. */
30 uint32_t _hl_iochunk_size (void);
33 * How many bytes are available in the hostlink payload buffer.
34 * This may be bigger than iochunk size because hostlink payload also contains
35 * reserved space for service information.
37 uint32_t _hl_payload_left (volatile __uncached void *p);
39 /* Send and receive hostlink packet. */
40 void _hl_send (volatile __uncached void *p);
41 volatile __uncached char *_hl_recv (void);
43 /* Mark target2host buffer as "No message here". */
44 void _hl_delete (void);
46 #endif /* !_HL_GW_H */