Programming :: Writing On Keyboard Port Via Inb(), Outb() System Calls?
Apr 5, 2010
I am working with fedora 6 , i386 architecture.I am trying to write on keyboard port via program.On inspation i come to know that 0x0060 to 0xz006f are used for keyboard in linux 2.6 kernel in the i/o space from kernel.
What is the real difference between system calls and normal function calls. Ultimately function calls too would be passed to kernel for some or the other work.
I know there is a way to call winapi in runtime in windows. I want to ask how can I call a system call in gcc in runtime (when I don't know what it can be)? I don't mean syscall that I think is for calling only system calls and not library functions.
I'm trying to produce a alphabetic, non-repetitive list of all System service calls in all c files located in a folder. Here's what I got so far. grep -ow '[A-Za-z]*SYS[$][A-Za-z]*' *.c | sort Which produces all system service calls in alphabetic order I just need to find out how to make it non-repetitive.
So basically, there is a really cool writing system I have been working on. It could be viewed (for simplification purposes) like an encryption method for the Latin script.
Facts about the writing system: It has a little over 300 symbols. It is syllable-driven. It is highly compositional (eg. "c", "ca", "cae", "ca " and "ci." all map to different symbols - and NOT by overlaying elements) Symbols have medium graphical complexity (comparable to Korean Hangul, or Japanese Hiragana) Has a rather complex set of diacritics (~10, some of which can go on any symbol) Has no ligatures
How transliteration occurs: Sequences of Latin symbols map to certain symbols. Example below:[G][rou][p ][hu][g.]Characters sequences between "[" and "]" map to a single symbol (so it would take only 5 symbols to write "Group hug.").
How I want it to work: I would like to have a daemon that: Intercepts all text displayed on the screen. Converts it to my writing system (changes letter sequences with individual Unicode codes) Leaves unsupported symbols unchanged. Displays all the text on the screen using my font and characters intertwined with the fonts and characters left unchanged.
For example, if you take the following line of C++ code:for (i = 1; i <= n; i++) I would like it displayed like this:[fo][r ]([i ]= [1]; [i ]<= [n]; [i]++) Bold-symbols should be in my Unicode font with special symbols defined for this writing system, and the rest should be in its original font and encoding. Also, I would like this encoding to hold for display-purposes only. The data in the memory should remain unaffected. This also means real-time adjustments: if I open a text editor (say, from the OpenOffice Suite) and I start typing, I would like to see what I type encoded with my writing system, even though the document actually contains Latin letters. This also means that the symbol immediately before the cursor may change as you type.
Is there an application in windows wherein you can see and manage the available shortcuts:
Keyboard shortcuts that calls applications Keyboard shortcuts in applications Built-in Windows shortcuts
So that you can actually see if you are repeating a keyboard shortcut or not. Because often times I tend to assign similar shortcuts to applications. Anything for windows(freeware), if this is available on linux then please share it.
I've been receiving a ton of calls from telemarketers and political callcenters. What would be the simplest way to use Ubuntu to automatically drop calls incoming from blacklisted numbers?
I have Comcast Digital Voice service, which is technically VOIP but I think it interfaces with modems themselves just like any other phone service would. I have a dedicated Ubuntu server sitting next to a phone jack already, so I'd like to use that if possible.
I've seen FreePBX and Asterisk, and hear that they can do the job. However, I haven't been able to tell just how easily they could be set up. It sounds like they might require me to get rid of all my phones and use soft phones instead... Does anybody know if it is as simple as buying a voice modem and configuring a PBX software to interface with it?
I've implemented a few custom system calls in my Ubuntu kernel, but I'm having some issues with the return values. Each function returns a variety of non-negative integers depending on which error is encountered. However, when I'm testing the system calls, the only negative value that gets returned to the user program is -1, regardless of what I have in the code.
Is there some special path I have to take to get the proper return values?
I would like to trace a user's activity by monitoring system calls. Is there a way to use strace such that at startup it will begin tracing all system calls? Or is there any other method to automatically trace the system calls used during a user's session automatically without having to call strace manually?
I'm new to C language and some help finding places in the following code where a system call is made and error checking is not done. I found one but since I don't know C language at all I'm not exactly sure what else to look for. Link to my file: [URL]...
I found one and added error checking: if (setoutpipe){ //Changes: Added error checking to the system call close() //Orginal Code: close(pidefd[1]); if(close(pipefd[1] != 0){ fprintf(stderr, "Could not close piple. "); exit(255); }
I have a problem in making multiple calls using PJSIP. I registered different accounts that implements IAccount and added that in the CallManager. When i try to make the calls from the same CallManager, I could able to make the first call. When second call is made the first call got cut and it is alerting and the same for the thrid call..Could anyone help me in this regard.
Note: Calls has to be made from different numbers to different destinations. Is it possible to make multiple outbound calls simultaneously from the same instance of CallManager?
I have installed a Virtual machine.I use Virtual Box for the same. My host OS is Windows XP SP3. I have assigned it 500mb of Ram and it works fine. But my problem is that my Keyboard does not work in Ubuntu terminal whilst writing a source code.
When I use the arrow keys it gives me alphabets A B C D. And also when i press a . it acts as a backspace.I have a cordless Logitech Keyboard.I don't know why my keyboard isn't functioning inside the Terminal (& that to only whilst typing in source codes) I have tried changing the Character Encoding but thats not helping.
We recently ported an application over from IRIX to Linux, specifically SUSE Enterprise 11 and gcc (glibc 2.9). On IRIX there was a library trace utility call 'par' that allowed me to execute a C program and trace all the library calls it made, tracking how much time was spent in each call. I have been trying to find something similar for SUSE. I have found the ?trace programs (strace, ltrace, and ktrace) none of which is default installed on SUSE 11.Does any one have a suggestion on which ?trace to install and use or is there something else out there better?
Is there a way to hook calls to new/malloc, delete/free in C++? I tried the following methods: LD_PRELOAD -> fails for malloc, because dlsym seems to depend on malloc -Wl,--wrap,malloc -> doesn't work for 'new' gcc hooks -> doesn't work always, e.g. for uclibc there are no hooks Are there any other methods I could try?
I'm trying to write a C program that extends an array to any user inputed size.
Code: if (arraysize == 0) { arraysize = (int) pos + 1; a = (int *) calloc (arraysize,sizeof(int)); for (i = 0 ; i < arraysize ; i++ ) a[i] = -1; code....
The program dumps with that sequence of inputs everytime, but might dump an input before or after if different positions are requested. Interestingly, when I tested pos = 2000..2008, I got no dumps. So is realloc somehow trying to extend the array into bad space?
I am trying to port some "C" code from Solaris to Linux. I have a Dell PowerEdge R610 with an Intel Xeon E5504 quad core processor running Red Hat Linux Enterprise 5.3. I am compiling in 64 bit mode. I have managed to get the code compiled and linked, but when I attempt to execute it, I get a core dump in one of the C library calls (like strcpy or printf.)
I have a static library that contains our own code that makes the call to the C library. If I move the library method into the source file with the main method and rename it to be certain that I am executing my method instead of the method in our library, the call succeeds. Eventually another static library call is made that results in a core dump in the shared object. I compile my library code into a static library with gcc as:
How does a C program start in linux? Is main() the first function called in the a c application by kernel. I understand it is the first called function written by the application programmer, but the question is to understand the what all kernel does and what all functions it calls before calling main()
I want a log or live data that discloses the system calls an application makes. I have used strace but can't find a guide for it that is decent. I'm interested in knowing the calls made after user intervention like opening a menu and so on. If you run (strace application_name) it is static. What good is this? When does strace make this file? When is this log produced?
I am going to write a TCP server program using c. Can anyone give me some advices on whats and what not to do specially when using select?
There would be a lot of data to be transferred both on the server and back to the client. I already have a simple server here but the server uses a lot of resources. Maybe 3 to 4 connections and the server's load would rise to unacceptable levels.
Which do you think is better to use fork or select?
I want to write some PHP for a website that'll have the data that the script will generate written inside a table with thin black line around it, much like LQ itself. My problem is: how do I draw the box that the text will be inside of, since the amount of text will vary - if I have a GIF with a picture of a box, that'll be of a fixed length, and my script can then only generate that much text, for it to look nice. Or do I need to fiddle with the GD library to get done what I want?
I need to write a script. In which, the 2nd part commands need to run under another bash shell environment.The enter_antoher_bash_env.sh will setup a new shell environment, call "bash". The rest commands need to run under the new env. (I cannot change this script too. )If I run these command one by one manually, it works of course. If I put them into a script, enter_another_bash_env.sh won't return because it calls "bash" command inside.
I have written a daemon server. I would like to add the ability for the daemon to update itself. That is, it should be able to download the latest version of the code (when it receives a signal from a client) and then restart itself. I am stuck on getting the daemon to restart itself. The problem is killing the old daemon without killing the process that is starting the new daemon. In my latest attempt, the daemon that is updating itself runs a program in a subshell (using system) that starts a restarter daemon that runs the original daemon (again using system) with the restart command option. With the restart option, the new version of the daemon sends a terminate signal to the old version. Obviously, when I run the original daemon manually with the restart option, it restarts reliably. I figured that issuing the same restart command from a daemon would adequately isolate the process doing the restarting from the program being restarted. Using ps, I can see that the daemon does actually restart. However, the client locks. In fact, a few times, the OS locked and I had to reset.