libusb: idProduct of USB device may be zero
[openocd.git] / src / target / algorithm.c
blob071414491caf5c3ddd69110578934ef8b4cd0ee0
1 /***************************************************************************
2 * Copyright (C) 2005 by Dominic Rath *
3 * Dominic.Rath@gmx.de *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
21 #ifdef HAVE_CONFIG_H
22 #include "config.h"
23 #endif
25 #include "algorithm.h"
26 #include <helper/binarybuffer.h>
28 void init_mem_param(struct mem_param *param, uint32_t address, uint32_t size, enum param_direction direction)
30 param->address = address;
31 param->size = size;
32 param->value = malloc(size);
33 param->direction = direction;
36 void destroy_mem_param(struct mem_param *param)
38 free(param->value);
39 param->value = NULL;
42 void init_reg_param(struct reg_param *param, char *reg_name, uint32_t size, enum param_direction direction)
44 param->reg_name = reg_name;
45 param->size = size;
46 param->value = malloc(DIV_ROUND_UP(size, 8));
47 param->direction = direction;
50 void destroy_reg_param(struct reg_param *param)
52 free(param->value);
53 param->value = NULL;