1*0d6140beSAndroid Build Coastguard Worker /* 2*0d6140beSAndroid Build Coastguard Worker * This file is part of the flashrom project. 3*0d6140beSAndroid Build Coastguard Worker * 4*0d6140beSAndroid Build Coastguard Worker * Copyright 2022 Google LLC 5*0d6140beSAndroid Build Coastguard Worker * 6*0d6140beSAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 7*0d6140beSAndroid Build Coastguard Worker * it under the terms of the GNU General Public License as published by 8*0d6140beSAndroid Build Coastguard Worker * the Free Software Foundation; version 2 of the License. 9*0d6140beSAndroid Build Coastguard Worker * 10*0d6140beSAndroid Build Coastguard Worker * This program is distributed in the hope that it will be useful, 11*0d6140beSAndroid Build Coastguard Worker * but WITHOUT ANY WARRANTY; without even the implied warranty of 12*0d6140beSAndroid Build Coastguard Worker * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*0d6140beSAndroid Build Coastguard Worker * GNU General Public License for more details. 14*0d6140beSAndroid Build Coastguard Worker */ 15*0d6140beSAndroid Build Coastguard Worker 16*0d6140beSAndroid Build Coastguard Worker #ifndef WRAPS_H 17*0d6140beSAndroid Build Coastguard Worker #define WRAPS_H 18*0d6140beSAndroid Build Coastguard Worker 19*0d6140beSAndroid Build Coastguard Worker #include <stdio.h> 20*0d6140beSAndroid Build Coastguard Worker #include "flash.h" 21*0d6140beSAndroid Build Coastguard Worker 22*0d6140beSAndroid Build Coastguard Worker struct programmer_cfg; /* defined in programmer.h */ 23*0d6140beSAndroid Build Coastguard Worker 24*0d6140beSAndroid Build Coastguard Worker char *__wrap_strdup(const char *s); 25*0d6140beSAndroid Build Coastguard Worker void __wrap_physunmap(void *virt_addr, size_t len); 26*0d6140beSAndroid Build Coastguard Worker void *__wrap_physmap(const char *descr, uintptr_t phys_addr, size_t len); 27*0d6140beSAndroid Build Coastguard Worker struct pci_dev *__wrap_pcidev_init(const struct programmer_cfg *cfg, void *devs, int bar); 28*0d6140beSAndroid Build Coastguard Worker uintptr_t __wrap_pcidev_readbar(void *dev, int bar); 29*0d6140beSAndroid Build Coastguard Worker void __wrap_sio_write(uint16_t port, uint8_t reg, uint8_t data); 30*0d6140beSAndroid Build Coastguard Worker uint8_t __wrap_sio_read(uint16_t port, uint8_t reg); 31*0d6140beSAndroid Build Coastguard Worker int __wrap_open(const char *pathname, int flags, ...); 32*0d6140beSAndroid Build Coastguard Worker int __real_open(const char *pathname, int flags, ...); 33*0d6140beSAndroid Build Coastguard Worker int __wrap_open64(const char *pathname, int flags, ...); 34*0d6140beSAndroid Build Coastguard Worker int __wrap___open64_2(const char *pathname, int flags, ...); 35*0d6140beSAndroid Build Coastguard Worker int __wrap_ioctl(int fd, unsigned long int request, ...); 36*0d6140beSAndroid Build Coastguard Worker int __wrap_write(int fd, const void *buf, size_t sz); 37*0d6140beSAndroid Build Coastguard Worker int __wrap_read(int fd, void *buf, size_t sz); 38*0d6140beSAndroid Build Coastguard Worker FILE *__wrap_fopen(const char *pathname, const char *mode); 39*0d6140beSAndroid Build Coastguard Worker FILE *__real_fopen(const char *pathname, const char *mode); 40*0d6140beSAndroid Build Coastguard Worker FILE *__wrap_fopen64(const char *pathname, const char *mode); 41*0d6140beSAndroid Build Coastguard Worker FILE *__wrap_fdopen(int fd, const char *mode); 42*0d6140beSAndroid Build Coastguard Worker FILE *__real_fdopen(int fd, const char *mode); 43*0d6140beSAndroid Build Coastguard Worker int __wrap_stat(const char *path, void *buf); 44*0d6140beSAndroid Build Coastguard Worker int __wrap_stat64(const char *path, void *buf); 45*0d6140beSAndroid Build Coastguard Worker int __wrap___xstat(const char *path, void *buf); 46*0d6140beSAndroid Build Coastguard Worker int __wrap___xstat64(const char *path, void *buf); 47*0d6140beSAndroid Build Coastguard Worker int __wrap_fstat(int fd, void *buf); 48*0d6140beSAndroid Build Coastguard Worker int __wrap_fstat64(int fd, void *buf); 49*0d6140beSAndroid Build Coastguard Worker int __wrap___fstat50(int fd, void *buf); 50*0d6140beSAndroid Build Coastguard Worker int __wrap___fxstat(int fd, void *buf); 51*0d6140beSAndroid Build Coastguard Worker int __wrap___fxstat64(int fd, void *buf); 52*0d6140beSAndroid Build Coastguard Worker char *__wrap_fgets(char *buf, int len, FILE *fp); 53*0d6140beSAndroid Build Coastguard Worker char *__wrap___fgets_chk(char *buf, int len, FILE *fp); 54*0d6140beSAndroid Build Coastguard Worker size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp); 55*0d6140beSAndroid Build Coastguard Worker size_t __wrap_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *fp); 56*0d6140beSAndroid Build Coastguard Worker size_t __real_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *fp); 57*0d6140beSAndroid Build Coastguard Worker int __wrap_fflush(FILE *fp); 58*0d6140beSAndroid Build Coastguard Worker int __wrap_fileno(FILE *fp); 59*0d6140beSAndroid Build Coastguard Worker int __wrap_fsync(int fd); 60*0d6140beSAndroid Build Coastguard Worker int __wrap_setvbuf(FILE *fp, char *buf, int type, size_t size); 61*0d6140beSAndroid Build Coastguard Worker int __wrap_fprintf(FILE *fp, const char *fmt, ...); 62*0d6140beSAndroid Build Coastguard Worker int __wrap___vfprintf_chk(FILE *fp, const char *fmt, va_list args); 63*0d6140beSAndroid Build Coastguard Worker int __wrap_fclose(FILE *fp); 64*0d6140beSAndroid Build Coastguard Worker int __real_fclose(FILE *fp); 65*0d6140beSAndroid Build Coastguard Worker int __wrap_feof(FILE *fp); 66*0d6140beSAndroid Build Coastguard Worker int __wrap_ferror(FILE *fp); 67*0d6140beSAndroid Build Coastguard Worker int __wrap_flock(int fd, int operation); 68*0d6140beSAndroid Build Coastguard Worker int __wrap_ftruncate(int fd, off_t length); 69*0d6140beSAndroid Build Coastguard Worker void __wrap_clearerr(FILE *fp); 70*0d6140beSAndroid Build Coastguard Worker int __wrap_rget_io_perms(void); 71*0d6140beSAndroid Build Coastguard Worker void __wrap_OUTB(unsigned char value, unsigned short port); 72*0d6140beSAndroid Build Coastguard Worker unsigned char __wrap_INB(unsigned short port); 73*0d6140beSAndroid Build Coastguard Worker void __wrap_OUTW(unsigned short value, unsigned short port); 74*0d6140beSAndroid Build Coastguard Worker unsigned short __wrap_INW(unsigned short port); 75*0d6140beSAndroid Build Coastguard Worker void __wrap_OUTL(unsigned int value, unsigned short port); 76*0d6140beSAndroid Build Coastguard Worker unsigned int __wrap_INL(unsigned short port); 77*0d6140beSAndroid Build Coastguard Worker int __wrap_spi_send_command(const struct flashctx *flash, 78*0d6140beSAndroid Build Coastguard Worker unsigned int writecnt, unsigned int readcnt, 79*0d6140beSAndroid Build Coastguard Worker const unsigned char *writearr, unsigned char *readarr); 80*0d6140beSAndroid Build Coastguard Worker 81*0d6140beSAndroid Build Coastguard Worker #endif /* WRAPS_H */ 82