/* * Copyright (c) 2022 joshua stein * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef __GEMINO_H__ #define __GEMINO_H__ #include "browser.h" #include "util.h" #define PROGRAM_NAME "Gemino" #define MBAR_ID 128 #define APPLE_MENU_ID 128 #define APPLE_MENU_ABOUT_ID 1 #define FILE_MENU_ID 129 #define FILE_MENU_QUIT_ID 1 #define EDIT_MENU_ID 130 #define EDIT_MENU_CUT_ID 1 #define EDIT_MENU_COPY_ID 2 #define EDIT_MENU_PASTE_ID 3 #define EDIT_MENU_SELECT_ALL_ID 4 #define DEFAULT_GEMINI_PORT 1965 struct tls_init_request { uint8_t flags[2]; #define BLUESCSI_TLS_INIT_REQUEST_FLAG_NO_VERIFY (1 << 0) uint8_t unix_time[4]; char hostname[256]; }; extern MenuHandle file_menu, edit_menu; void menu_defaults(void); short scsi_find_tls(void); bool scsi_tls_init(char tls_id, unsigned char *buf, size_t buf_size, struct tls_init_request *req); bool scsi_tls_close(char tls_id); short scsi_tls_status(char tls_id, unsigned char *buf, size_t buf_size, short *cipherspace, short *plainspace, short *error); size_t scsi_tls_read(char tls_id, unsigned char *buf, size_t buf_size, bool cipher); size_t scsi_tls_write(char tls_id, unsigned char *buf, size_t buf_size, bool cipher); void scsi_cleanup(void); #endif