aboutsummaryrefslogtreecommitdiff
path: root/pa1_syscalls_lkms/csci3753_mult.c
blob: cfe9458a3f606fe564692a456c19d2046451360f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#include <linux/kernel.h>
#include <linux/linkage.h>
#include <linux/syscalls.h>

SYSCALL_DEFINE3(csci3753_mult, int, number1, int, number2, long *, result) {
  printk("Numbers being multiplied:\n");
  printk("Number 1: %d\n", number1);
  printk("Number 2: %d\n", number2);
  long product = number1 * number2;
  printk("Result: %ld\n", product);
  return copy_to_user(result, &product, sizeof(long)) ? -EFAULT : 0;
}