1/* The common simulator framework for GDB, the GNU Debugger. 2 3 Copyright 2002, 2007, 2008, 2009, 2010, 2011 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/* Address methods */ 31 32const hw_unit * 33hw_unit_address (struct hw *me) 34{ 35 return &me->unit_address_of_hw; 36} 37 38 39/* IOCTL: */ 40 41int 42hw_ioctl (struct hw *me, 43 hw_ioctl_request request, 44 ...) 45{ 46 int status; 47 va_list ap; 48 va_start(ap, request); 49 status = me->to_ioctl (me, request, ap); 50 va_end(ap); 51 return status; 52} 53 54char * 55hw_strdup (struct hw *me, const char *str) 56{ 57 if (str != NULL) 58 { 59 char *dup = hw_zalloc (me, strlen (str) + 1); 60 strcpy (dup, str); 61 return dup; 62 } 63 else 64 { 65 return NULL; 66 } 67} 68