//b2.c
#include
#include
void play(unsigned int* freq, unsigned int* delay);
int main(int argc, char* argv[])
{
speaker(330, 5);
speaker( 0, 5);
speaker(330, 5);
return 0;
}
int speaker(unsigned int freq,unsigned int delay)
{ static int flag=0,bit;
if(flag==0)
{
flag=1;
iopl(3);
}
outb(0xb6,0x43);
outb((freq & 0xff),0x42);
outb((freq >> 8),0x42);
bit=inb(0x61);
outb(3 | bit,0x61);
usleep(10000*delay);
outb(0xfc | bit,0x61);
return;
}
2.beep:一個shell script使b2在指令完成時執行
$*
sudo ./b2
3.把b2 and beep放至/bin
4.由於b2發出聲音要有root的權限,所以b2擁有者要設為root,然後對beep作setuid
http://www.google.com/url?q=http%3A%2F%2Flinux.vbird.org%2Flinux_basic%2F0220filemanager.php%23suid&sa=D&sntz=1&usg=AFrqEzfx6HcqK_4BpogqAlU2s7Ts5ttsug
沒有留言:
張貼留言