]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/common/hw-device.c
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / sim / common / hw-device.c
CommitLineData
b85e4829 1/* The common simulator framework for GDB, the GNU Debugger.
c906108c 2
213516ef 3 Copyright 2002-2023 Free Software Foundation, Inc.
c906108c 4
b85e4829 5 Contributed by Andrew Cagney and Red Hat.
c906108c 6
b85e4829
AC
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
4744ac1b 11 the Free Software Foundation; either version 3 of the License, or
b85e4829
AC
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
4744ac1b 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c 21
6df01ab8
MF
22/* This must come before any other includes. */
23#include "defs.h"
c906108c 24
2c29882f 25#include <stdarg.h>
c906108c 26#include <stdlib.h>
b6061d4d 27#include <string.h>
b6061d4d 28
20a8e078
MF
29#include "hw-main.h"
30#include "hw-base.h"
31
c906108c
SS
32/* Address methods */
33
34const hw_unit *
35hw_unit_address (struct hw *me)
36{
37 return &me->unit_address_of_hw;
38}
39
40
41/* IOCTL: */
42
43int
44hw_ioctl (struct hw *me,
45 hw_ioctl_request request,
46 ...)
47{
48 int status;
49 va_list ap;
34b47c38 50 va_start (ap, request);
c906108c 51 status = me->to_ioctl (me, request, ap);
34b47c38 52 va_end (ap);
c906108c
SS
53 return status;
54}
028f6515 55
c906108c
SS
56char *
57hw_strdup (struct hw *me, const char *str)
58{
59 if (str != NULL)
60 {
61 char *dup = hw_zalloc (me, strlen (str) + 1);
62 strcpy (dup, str);
63 return dup;
64 }
65 else
66 {
67 return NULL;
68 }
69}