2022-01-10 17:16:55 +00:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
|
|
|
|
#ifndef ASC_H
|
|
|
|
#define ASC_H
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
struct asc_message {
|
|
|
|
u64 msg0;
|
|
|
|
u32 msg1;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct asc_dev asc_dev_t;
|
|
|
|
|
|
|
|
asc_dev_t *asc_init(const char *path);
|
|
|
|
void asc_free(asc_dev_t *asc);
|
|
|
|
|
2022-01-16 19:11:31 +00:00
|
|
|
int asc_get_iop_node(asc_dev_t *asc);
|
|
|
|
|
2022-01-10 17:16:55 +00:00
|
|
|
void asc_cpu_start(asc_dev_t *asc);
|
2022-07-03 14:31:28 +00:00
|
|
|
void asc_cpu_stop(asc_dev_t *asc);
|
2023-04-09 18:06:17 +00:00
|
|
|
bool asc_cpu_running(asc_dev_t *asc);
|
2022-01-10 17:16:55 +00:00
|
|
|
|
|
|
|
bool asc_can_recv(asc_dev_t *asc);
|
|
|
|
bool asc_can_send(asc_dev_t *asc);
|
|
|
|
|
|
|
|
bool asc_recv(asc_dev_t *asc, struct asc_message *msg);
|
|
|
|
bool asc_recv_timeout(asc_dev_t *asc, struct asc_message *msg, u32 delay_usec);
|
|
|
|
bool asc_send(asc_dev_t *asc, const struct asc_message *msg);
|
|
|
|
|
|
|
|
#endif
|