02-21-2008
sys_datacopy in Minix
I'm writing a program that must log all the kernel calls existing in Minix. I recall that Minix is a microkernel OS.
I've a user process that pass a char* that points to a buffer memory to the kernel level. In the kernel level I get all the information, and now, I would like to copy the info to the buffer passed by the user. How can I do that?
Since kernel and user process are in different address space, I use the sys_datacopy function that should do it.
The problem is that, in the user level, that buffer prints me (null).
the function that I use is:
sys_datacopy(SELF,
(vir_bytes) buf,
who, /* <---- I suppose that this in points to the user process number */
(vir_bytes) m_in.m1_p1);
m_in is a structure of type message, a structure that Minix uses to pass info from the kernel to the user level and otherwise.
m1_p1 is a char* variable.
You can find it more info about the structure in ipc.h.
Thanks,
Pedro
7 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi, I'm trying to install Minix 2.0.3 on an old gateway2000 4dz2-66 manufactured back in 1995. After I ran 'part' in setup, It make the root/swap/usr subpartitions and then I get this message:
installboot: No such File or Directory
This was when i had my /usr disk in,here is teh output i... (2 Replies)
Discussion started by: deadrobot
2 Replies
2. Solaris
hey guys
i hope there is someone familiar with minix that can help me. Well, the problem i am sitting with is that a ran a program with an infinite loop in it, now i think i ran out of memory in the root because a keep on getting the message " no space on the root device 3/128 ", whenever i try... (3 Replies)
Discussion started by: surubi_abada
3 Replies
3. Shell Programming and Scripting
Hi,
I'm using minix and I don't know how to use API POSIX (I've read ipc.h :confused:), someone could help me?
Thank you :) (3 Replies)
Discussion started by: Guccio
3 Replies
4. Shell Programming and Scripting
Hi
I am new in MINIX I want to add data into inode and retrive. where I add these information and how I can retrive?
Thanx
Rose (2 Replies)
Discussion started by: rosecomp
2 Replies
5. Programming
Hi to all,
i am trying to make a kernel call that will display the number of times each kernel call was called. Any idea where to look? I can't find the right files and also how to get all those values. Already made a kernel call that displays how many kernel calls are in the system. I am using... (6 Replies)
Discussion started by: hariscy
6 Replies
6. Homework & Coursework Questions
please help!!
The question that has been asked is to use /tmp directory in minix to get to know the root password or get the root privilege .
onr thing that I have done is
:
% cp /bin/sh /tmp
% chmod 4777 /tmp/sh
now what next must i do to get the root privelege?
or maybe some other method
... (1 Reply)
Discussion started by: amanmamgain
1 Replies
7. UNIX for Dummies Questions & Answers
Hi.
I'm started to use minix 3.2.1 recently and I'm trying to create a recycle bin for it. I'm kinda struggling on how to do it. I searched internet and I found scripts created for it but I actually didn't learn how to create scripts in college and I'm not sure if I understand them. I just wanted... (1 Reply)
Discussion started by: ReonarudoB
1 Replies
SET_NET_DEFAULT(8) System Manager's Manual SET_NET_DEFAULT(8)
NAME
s_n_d, set_net_default - select the default TCP/IP network
SYNOPSIS
set_net_default: not found
DESCRIPTION
This manual page is here because so many others refer to it. The set_net_default command does not exist under standard Minix, because the
TCP/IP server only supports one network. The server under Minix-vmd supports four different networks, that can each be chosen as the
default network.
The TCP/IP library and commands do have a notion about a "default network" however, because the code is shared between the Minix versions.
So if you want to venture into network programming then you should know about the devices and environment variables mentioned below to make
your program compatible. (Especially since there is a plan to upgrade the TCP/IP server for standard Minix.)
Options and environment to change the default
Many TCP/IP programs implement the following options and environment variables to change the default devices set by set_net_default. The
options are only implemented for low level programs where it makes sense to name a network device. The environment variables are used in
all code. You can run a process and all its children connected to a different network by setting four environment variables.
ETH_DEVICE=device
-E device
Device to use as raw ethernet device instead of the default /dev/eth.
PSIP_DEVICE=device
-P device
Pseudo IP device to use instead of /dev/psip.
IP_DEVICE=device
-I device
IP device to use instead of /dev/ip.
TCP_DEVICE=device
-T device
TCP device to use.
UDP_DEVICE=device
-U device
UDP device to use.
FILES
/dev/eth[01] First and second raw ethernet.
/dev/psip[01] First and second Pseudo IP network.
/dev/ip[0123] IP devices for two ethernets and two Pseudo IP networks.
/dev/tcp[0123] TCP devices for same four networks.
/dev/udp[0123] UDP devices.
/dev/eth, /dev/psip, /dev/ip, /dev/tcp, /dev/udp
Devices for the default network, links to the devices above. Eth is only present if ethernet is the default, psip only
for pseudo IP.
SEE ALSO
ip(4), boot(8).
AUTHOR
Kees J. Bot (kjb@cs.vu.nl)
SET_NET_DEFAULT(8)