ps3encdec_ioctl: new command kgenflash
[ps3encdec-utils.git] / ps3encdec_dev.c
blob2983f0e510f57ef175967dfe9f4e170279d0dc94
2 /*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; version 2 of the License.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 #include <stdlib.h>
18 #include <string.h>
19 #include <errno.h>
20 #include <sys/types.h>
21 #include <sys/stat.h>
22 #include <fcntl.h>
23 #include <sys/ioctl.h>
24 #include <unistd.h>
25 #include <asm/ps3encdec.h>
27 #include "ps3encdec_dev.h"
29 int ps3encdec_dev_open(const char *path)
31 return open(path, O_RDWR);
34 int ps3encdec_dev_close(int fd)
36 return close(fd);
39 int ps3encdec_dev_do_request(int fd, uint64_t cmd, uint8_t *cmdbuf,
40 uint64_t cmdbuf_size, uint8_t *respbuf, uint64_t respbuf_size)
42 struct ps3encdec_ioctl_do_request arg;
43 int error;
45 memset(&arg, 0, sizeof(arg));
46 arg.cmd = cmd;
47 arg.cmdbuf = (uint64_t) cmdbuf;
48 arg.cmdbuf_size = cmdbuf_size;
49 arg.respbuf = (uint64_t) respbuf;
50 arg.respbuf_size = respbuf_size;
52 error = ioctl(fd, PS3ENCDEC_IOCTL_DO_REQUEST, &arg);
54 return error;