1 /* The common simulator framework for GDB, the GNU Debugger. 2 3 Copyright 2002-2020 Free Software Foundation, Inc. 4 5 Contributed by Andrew Cagney and Red Hat. 6 7 This file is part of GDB. 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21 22 23 #include "hw-main.h" 24 #include "hw-base.h" 25 26 #if HAVE_STDLIB_H 27 #include <stdlib.h> 28 #endif 29 30 #if HAVE_STRING_H 31 #include <string.h> 32 #endif 33 34 /* Address methods */ 35 36 const hw_unit * 37 hw_unit_address (struct hw *me) 38 { 39 return &me->unit_address_of_hw; 40 } 41 42 43 /* IOCTL: */ 44 45 int 46 hw_ioctl (struct hw *me, 47 hw_ioctl_request request, 48 ...) 49 { 50 int status; 51 va_list ap; 52 va_start (ap, request); 53 status = me->to_ioctl (me, request, ap); 54 va_end (ap); 55 return status; 56 } 57 58 char * 59 hw_strdup (struct hw *me, const char *str) 60 { 61 if (str != NULL) 62 { 63 char *dup = hw_zalloc (me, strlen (str) + 1); 64 strcpy (dup, str); 65 return dup; 66 } 67 else 68 { 69 return NULL; 70 } 71 } 72