blob: 7a72809a1ab4fe6f4a57a08e6c2b0c16e7975366 [file] [log] [blame]
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00001/*
2 * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
3 * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
4 * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
5 * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. The name of the author may not be used to endorse or promote products
17 * derived from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +000029 */
Wichert Akkerman76baf7c1999-02-19 00:21:36 +000030
Denys Vlasenkoa6d91de2012-03-16 12:02:22 +010031#include "defs.h"
Wichert Akkerman76baf7c1999-02-19 00:21:36 +000032#include <fcntl.h>
Wichert Akkerman7b3346b2001-10-09 23:47:38 +000033
Dmitry V. Levind04bb2b2014-06-04 15:51:55 +000034#include "xlat/delete_module_flags.h"
Wichert Akkerman76baf7c1999-02-19 00:21:36 +000035
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000036SYS_FUNC(create_module)
Wichert Akkerman50524821999-10-10 22:40:07 +000037{
Dmitry V. Levind9e87922015-07-20 19:35:42 +000038 printpath(tcp, tcp->u_arg[0]);
39 tprintf(", %lu", tcp->u_arg[1]);
40
41 return RVAL_DECODED | RVAL_HEX;
Wichert Akkerman50524821999-10-10 22:40:07 +000042}
43
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000044SYS_FUNC(delete_module)
Dmitry V. Levind04bb2b2014-06-04 15:51:55 +000045{
Dmitry V. Levind9e87922015-07-20 19:35:42 +000046 printstr(tcp, tcp->u_arg[0], -1);
47 tprints(", ");
48 printflags(delete_module_flags, tcp->u_arg[1], "O_???");
49
50 return RVAL_DECODED;
Dmitry V. Levind04bb2b2014-06-04 15:51:55 +000051}
52
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000053SYS_FUNC(init_module)
Wichert Akkerman2f473da1999-11-01 19:53:31 +000054{
Dmitry V. Levin484326d2016-06-11 01:28:21 +000055 printaddr(tcp->u_arg[0]);
56 tprintf(", %lu, ", tcp->u_arg[1]);
Dmitry V. Levind9e87922015-07-20 19:35:42 +000057 printstr(tcp, tcp->u_arg[2], -1);
58
59 return RVAL_DECODED;
Wichert Akkerman2f473da1999-11-01 19:53:31 +000060}
Dmitry V. Levinf67502e2014-02-05 16:17:02 +000061
62#define MODULE_INIT_IGNORE_MODVERSIONS 1
63#define MODULE_INIT_IGNORE_VERMAGIC 2
64
Dmitry V. Levin0ed617b2014-04-25 23:30:54 +000065#include "xlat/module_init_flags.h"
Dmitry V. Levinf67502e2014-02-05 16:17:02 +000066
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000067SYS_FUNC(finit_module)
Dmitry V. Levinf67502e2014-02-05 16:17:02 +000068{
Dmitry V. Levinf67502e2014-02-05 16:17:02 +000069 /* file descriptor */
70 printfd(tcp, tcp->u_arg[0]);
71 tprints(", ");
72 /* param_values */
73 printstr(tcp, tcp->u_arg[1], -1);
74 tprints(", ");
75 /* flags */
76 printflags(module_init_flags, tcp->u_arg[2], "MODULE_INIT_???");
77
Dmitry V. Levind9e87922015-07-20 19:35:42 +000078 return RVAL_DECODED;
Dmitry V. Levinf67502e2014-02-05 16:17:02 +000079}