Search Results

Search found 40031 results on 1602 pages for 'command message'.

Page 722/1602 | < Previous Page | 718 719 720 721 722 723 724 725 726 727 728 729  | Next Page >

  • How to take a screenshot every n second?

    - by Seppo Erviälä
    What software can I use to take screenshots with a set interval? I'd like to take screenshots every 2 second or so. Command-line and GUI are both ok. I'd prefer software that can also resize and compress each screenshot. EDIT: What I realized I really wanted to do was take a screenshot and a picture with webcam at the same time. I ended up doing some python: import threading import os def capture(i): i += 1 threading.Timer(2.0, printit, [i]).start() fill = str(i).zfill(5) os.system("scrot scrot-%s.jpg" % fill) os.system("streamer -o streamer-%s.jpeg -s 320x240 -j 100" % fill) capture(0)

    Read the article

  • Updating a database connection password using a script

    - by Tim Dexter
    An interesting customer requirement that I thought was worthy of sharing today. Thanks to James for the requirement and Bryan for the proposed solution and me for testing the solution and proving it works :0) A customers implementation of Sarbanes Oxley requires them to change all database account passwords every 90 days. This is scripted leveraging shell scripts today for most of their environments. But how can they manage the BI Publisher connections? Now, the customer is running 11g and therefore using weblogic on the middle tier, which is the first clue to Bryans proposed solution. To paraphrase and embellish Bryan's solution a little; why not use a JNDI connection from BIP to the database. Then employ the web logic scripting engine to make updates to the JNDI as needed? BIP is completely uninvolved and with a little 'timing' users will be completely unaware of the password updates i.e. change the password when reports are not being executed. Perfect! James immediately tracked down the WLST script that could be used here, http://middlewaremagic.com/weblogic/?p=4261 (thanks Ravish) Now it was just a case of testing the theory. Some steps: Create the JNDI connection in WLS Create the JNDI connection in BI Publisher pointing to the WLS connection Build new data models using or re-point data sources to use the JNDI connection. Create the WLST script to update the WLS JNDI password as needed. Test! Some details. Creating the JNDI connection in web logic is pretty straightforward. Log into hte console and look for Data Sources under the Services section of the home page and click it Click New >> Generic Datasource Give the connection a name. For the JNDI name, prefix it with 'jdbc/' so I have 'jdbc/localdb' - this name is important you'll need it on the BIP side. Select your db type - this will influence the drivers and information needed on the next page. Being a company man, Im using an Oracle db. Click Next Select the driver of choice, theres lots I know, you can read about them I just chose 'Oracle's Driver (Thin) for Instance connections; Versions 9.0.1 and later' Click Next >> Next Fill out the db name (SID), server, port, username to connect and password >> Next Test the config to ensure you can connect. >> Next Now you need to deploy the connection to your BI server, select it and click Next. You're done with the JNDI config. Creating the JNDI connection on the Publisher side is covered here. Just remember to the connection name you created in WLS e.g. 'jdbc/localdb' Not gonna tell you how to do this, go read the user guide :0) Suffice to say, it works. This requires a little reading around the subject to understand the scripting engine and how to execute scripts. Nicely covered here. However a bit of googlin' and I found an even easier way of running the script. ${ServerHome}/common/bin/wlst.sh updatepwd.py Where updatepwd.py is my script file, it can be in another directory. As part of the wlst.sh script your environment is set up for you so its very simple to execute. The nitty gritty: Need to take Ravish's script above and create a file with a .py extension. Its going to need some modification, as he explains on the web page, to make it work in your environment. I played around with it for a while but kept running into errors. The script as is, tries to loop through all of your connections and modify the user and passwords for each. Not quite what we are looking for. Remember our requirement is to just update the password for a given connection. I also found another issue with the script. WLS 10.x does not allow updates to passwords using clear type ie un-encrypted text while the server is in production mode. Its a bit much to set it back to developer mode bounce it, change the passwords and then bounce and then change back to production and bounce again. After lots of messing about I finally came up with the following: ############################################################################# # # Update password for JNDI connections # ############################################################################# print("*** Trying to Connect.... *****") connect('weblogic','welcome1','t3://localhost:7001') print("*** Connected *****") edit() startEdit() print ("*** Encrypt the password ***") en = encrypt('hr') print "Encrypted pwd: ", en print ("*** Changing pwd for LocalDB ***") dsName = 'LocalDB' print 'Changing Password for DataSource ', dsName cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName) set('PasswordEncrypted',en) save() activate() Its pretty simple and you can expand on it to loop through the data sources and change each as needed. I have hardcoded the password into the file but you can pass it as a parameter as needed using the properties file method. Im not going to get into the detail of that here but its covered with an example here. Couple of points to note: 1. The change to the password requires a server bounce to get the changes picked up. You can add that to the shell script you will use to call the script above. 2. The script above needs to be run from the MW_HOME\user_projects\domains\bifoundation_domain directory to get the encryption libraries set correctly. My command to run the whole script was: d:\oracle\bi_mw\wlserver_10.3\common\bin\wlst.cmd updatepwd.py - where wlst.cmd is the scripting command line and updatepwd.py was my update password script above. I have not quite spoon fed everything you need to make it a robust script but at least you know you can do it and you can work out the rest I think :0)

    Read the article

  • Humor in Documentation

    - by Lex Fridman
    Is a small amount of lighthearted wording or humor acceptable in source code documentation? For example, I have an algorithm that has a message hop around a graph (network) until its path forms a cycle. When this happens it is removed from the queue of the node it last resided on which removes it from memory. I write that in a comment, and finish the comment with "Rest in peace, little guy". That serves very little documenting purpose, but it cheers me up a bit, and I imagine it might cheer up other people I'm working with as they read through the code. Is this an acceptable practice, or should my in-code documentation resemble as much as possible the speeches of 2004 United States presidential candidate John Kerry? ;-)

    Read the article

  • sending credential to linkedIn website and get oauth_verifier without sign in again

    - by akash kumar
    i am facing problem regarding sending credentials to other website and after login(automatically not clicked on sign in here) and get oauth_verifier value Detail is bellow.... I want to send emailaddress and password through form(submit button)from my website(i.e liferay portal) to another website(suppose linkedIn) it should automatically authorize and return oauth_verifier to my website. that mean i dont want my website user to submit emailaddress and password to linkedIn again. actually i want to take emailaddress and password in my website and show the user LinkedIn connection,message,job posting in my website it self,i dont want to redirect user to LinkedIn website and sign in there and again come back to my website. I have taken consumer key and secret key from LinkedIn for my aplication. i am using linkedIn api and getting oauth_verifier for access token but for that i have to take user to LinkedIn for signIn, actually it should happen in backend

    Read the article

  • Sarg Daily Report not generated

    - by Suleman
    Ubuntu 12.04 LTS Squid 3 Sarg 2.3.2 following is my crontab configuration # SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin m h dom mon dow user command 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # this does not generate daily html report.

    Read the article

  • Writing Large Portions Of Code Then Debugging?

    - by The Floating Brain
    Lately I have been writing a game engine, and I have been writing a lot of "foundation stuff" (standard interfaces, modules, a message system ect.), but I have noticed a pattern, a lot of the stuff is interdependent and I can not debug until everything is done, hence I do not debug for about 3 to 5 hours at a time. I am wondering if this is an acceptable practice for this part of the project, and if not, if anyone can give me some advice? -----Update-----: I downloaded some code metrics tools, and my programs cyclomatic complexity is 1.52 which as I understand it is good, and should correlate to high cohesion, if I am wrong please correct me/

    Read the article

  • Getting a Conexant CX23885 TV Capture Card working

    - by Benny
    I'm new to Linux, and am trying to get my Capture Card working on 11.04. The only command that I know to run to find out any information is lspci, which tells me that I have 02:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder (rev 04) I've looked at using Me TV, but haven't worked out how to configure it for my card, or what I need to do to get it running. I'm not fussed on what software I use to run the Capture Card, but I've currently got only Me TV installed. Edit: When I run tvtime, I get the following errors: videoinput: Cannot open capture device /dev/video0: No such file or directory mixer: find error: Success mixer: Can't open mixer default, mixer volume and mute unavailable. mixer: Can't open device default/Line, mixer volume and mute unavailable. Segmentation fault

    Read the article

  • I dont know how to run e2fsck or fsck and what are their differences

    - by Salvador
    My Kern.log file advise me to run e2fsck. Aug 30 14:10:11 ubuntu kernel: [ 122.378292] EXT4-fs (sda11): warning: maximal mount count reached, running e2fsck is recommended Aug 30 14:10:11 ubuntu kernel: [ 122.387488] EXT4-fs (sda11): mounted filesystem with ordered data mode. Opts: (null) /dev/sda11 is not mounted within my current OS (Ubuntu 10.04) I have known that e2fsck is a dangerous command when running against the root partition which is at the same hard disk as sda11. I would trust in this solution better than others: Can I run fsck or e2fsck when Linux file system is mounted?

    Read the article

  • Unity3D: default parameters in C# script

    - by Heisenbug
    Accordingly to this thread, it seems that default parameters aren't supported by C# script in Unity3D environment. Declaring an optional parameter in a C# scirpt makes Mono Ide complaint about it: void Foo(int first, int second = 10) // this line is marked as wrong inside Mono IDE Anyway if I ignore the error message of Mono and run the script in Unity, it works without notify any error inside Unity Console. Could anyone clarify a little bit this issue? Particularly: Are default parameters allowed inside C# scripts? If yes, are they supported by all platforms? Why Mono complains about them if the actually works?

    Read the article

  • Why isn't cron running my script?

    - by Jingqiang Zhang
    Now I want to use Backup and Whenever gem to automatic backup my database. When I connect the server by ssh as an added user to run backup perform -t my_backup,it works well.But the cron file: 0 22 * * * /bin/bash -l -c 'backup perform -t my_backup' can't run at 22:00. When I use cat /etc/crontab check the cron's config file,it is: SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # The /bin/bash and /bin/sh are different.What's the reason?How to do?

    Read the article

  • Fails to boot after upgrade, stuck on winbind package

    - by Praetorian
    I started the upgrade from 11.04 to 11.10 last night. Once it got the installing packages part I left the computer unattended the rest of the night. When I checked it this morning the screen was blank and I couldn't get it to turn on. So I cycled power, and now I get the "Ubuntu 11.10" screen with the dots underneath, but then it gets to a blank screen and nothing more. I can get to the command line in recovery mode; here's a list of the things I've tried so far sudo apt-get update - the very first repository it checked sat at 0% for a long time (network cable is plugged in), so I cancelled with Ctrl+C Thought it might be a problem with display drivers, so I tried sudo apt-get install nvidia-glx - this gave me an error saying dpkg has been interrupted, manually run sudo dpkg --configure -a sudo dpkg --configure -a this installed / updated a bunch of stuff but got stuck at Starting Winbind daemon winbind Restarted and tried sudo dpkg --configure -a again but it gets stuck at same Windbind step What else can I do to fix this problem?

    Read the article

  • How To Colorize Black and White Vintage Photographs in Photoshop

    - by Eric Z Goodnight
    Ever wanted to add color to your old, vintage, or historical photographs? Load up some old pictures and see how color can be added quickly to any black and white photograph in this simple Photoshop how to. While many purists simply don’t like the look of colorized black and white photographs, the ability to add color to black and white images is as indispensible as it is simple. Read on to see just how easy it can be Latest Features How-To Geek ETC How To Create Your Own Custom ASCII Art from Any Image How To Process Camera Raw Without Paying for Adobe Photoshop How Do You Block Annoying Text Message (SMS) Spam? How to Use and Master the Notoriously Difficult Pen Tool in Photoshop HTG Explains: What Are the Differences Between All Those Audio Formats? How To Use Layer Masks and Vector Masks to Remove Complex Backgrounds in Photoshop Hack a Wireless Doorbell into a Snail Mail Indicator Enjoy Clutter-Free YouTube Video Viewing in Opera with CleanTube Bring Summer Back to Your Desktop with the LandscapeTheme for Chrome and Iron The Prospector – Home Dash Extension Creates a Whole New Browsing Experience in Firefox KinEmote Links Kinect to Windows Why Nobody Reads Web Site Privacy Policies [Infographic]

    Read the article

  • Flash doesn't work any more on 10.04

    - by Béné
    I have a very strange problem with flash on my 10.04 system. (An update to 12.04 is not an option, because the system is just too old and slow.) After a recent update flash has just stopped working altogether. Youtube just shows a white square, vimeo a black one. After a 10.04 reinstall the problem stays the same. Not even chrome displays flash content, just a message that shockwave flash could not be loaded. 'ubuntu-restricted-extras' 'flashplugin-nonfree' and 'flashplugin-installer' are all installed in version 11.2.202.238ubuntu0.10.04.1.

    Read the article

  • New to Ubuntu - 12.04.1 Kernel Panic on Installation

    - by user88432
    I'm a complete Ubuntu and even Linux newbie. I'm learning here, so I'm grateful for any info to help me learn more about this. I have a Dell Dimension 2400 with a Pentium 4 and 1GB of RAM. It's older but it's only going to be doing some small stuff for me when I get it up and going. I've tried installing several versions of Linux (but I really, really want Ubuntu) and I keep getting a similar kernel panic message. The problem is I don't have a clue what that means or how to begin fixing it. I would appreciate any help to get my machine up and going. I have already tried Installing alternate Ubuntu versions Burning multiple 12.04.1 disks Installing other versions of Linux I have a picture of the screen to share; however, I can't post due to the fact that I don't have enough reputation points on this forum because I'm a newbie. I would be happy to email you a pic, if you think you can help.

    Read the article

  • Change permission to mount disk at rdesktop

    - by Tal
    I have ubuntu 10.04 and have installed rdesktop 1.7. I have run these commands: sudo umount /media/Tal sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=0000 /dev/sdb1 /media/Tal rdesktop -0 -r sound:local -f -u administrator -r clipboard:PRIMARYCLIPBOARD -r disk:tal=/media/Tal myip Tal is external hard drive connecting at USB in ntfs file system. I connect to windows 7 I see the hard drive in computer and I can access to files and create new files and folders, But when I try to copy a new file to a folder he show me an error message: You need permission perform this action Your require permission from computer's administrator to make changes to this folder Tal on my computername Disk from Remote Desktop Connection. I try chmod and chown too but I read I linux forum when it ntfs is no use. Some one can help me with my problem?

    Read the article

  • Automating custom software installation in a zone

    - by mgerdts
    In Solaris 11, the internals of zone installation are quite different than they were in Solaris 10.  This difference allows the administrator far greater control of what software is installed in a zone.  The rules in Solaris 10 are simple and inflexible: if it is installed in the global zone and is not specifically excluded by package metadata from being installed in a zone, it is installed in the zone.  In Solaris 11, the rules are still simple, but are much more flexible:  the packages you tell it to install and the packages on which they depend will be installed. So, where does the default list of packages come from?  From the AI (auto installer) manifest, of course.  The default AI manifest is /usr/share/auto_install/manifest/zone_default.xml.  Within that file you will find:             <software_data action="install">                 <name>pkg:/group/system/solaris-small-server</name>             </software_data> So, the default installation will install pkg:/group/system/solaris-small-server.  Cool.  What is that?  You can figure out what is in the package by looking for it in the repository with your web browser (click the manifest link), or use pkg(1).  In this case, it is a group package (pkg:/group/), so we know that it just has a bunch of dependencies to name the packages that really wants installed. $ pkg contents -t depend -o fmri -s fmri -r solaris-small-server FMRI compress/bzip2 compress/gzip compress/p7zip ... terminal/luit terminal/resize text/doctools text/doctools/ja text/less text/spelling-utilities web/wget If you would like to see the entire manifest from the command line, use pkg contents -r -m solaris-small-server. Let's suppose that you want to install a zone that also has mercurial and a full-fledged installation of vim rather than just the minimal vim-core that is part of solaris-small-server.  That's pretty easy. First, copy the default AI manifest somewhere where you will edit it and make it writable. # cp /usr/share/auto_install/manifest/zone_default.xml ~/myzone-ai.xml # chmod 644 ~/myzone-ai.xml Next, edit the file, changing the software_data section as follows:             <software_data action="install">                 <name>pkg:/group/system/solaris-small-server</name>                 <name>pkg:/developer/versioning/mercurial</name>                <name>pkg:/editor/vim</name>             </software_data> To figure out  the names of the packages, either search the repository using your browser, or use a command like pkg search hg. Now we are all ready to install the zone.  If it has not yet been configured, that must be done as well. # zonecfg -z myzone 'create; set zonepath=/zones/myzone' # zoneadm -z myzone install -m ~/myzone-ai.xml A ZFS file system has been created for this zone. Progress being logged to /var/log/zones/zoneadm.20111113T004303Z.myzone.install Image: Preparing at /zones/myzone/root. Install Log: /system/volatile/install.15496/install_log AI Manifest: /tmp/manifest.xml.XfaWpE SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml Zonename: myzone Installation: Starting ... Creating IPS image Installing packages from: solaris origin: http://localhost:1008/solaris/54453f3545de891d4daa841ddb3c844fe8804f55/ DOWNLOAD PKGS FILES XFER (MB) Completed 169/169 34047/34047 185.6/185.6 PHASE ACTIONS Install Phase 46498/46498 PHASE ITEMS Package State Update Phase 169/169 Image State Update Phase 2/2 Installation: Succeeded Note: Man pages can be obtained by installing pkg:/system/manual done. Done: Installation completed in 531.813 seconds. Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /zones/myzone/root/var/log/zones/zoneadm.20111113T004303Z.myzone.install Now, for a few things that I've seen people trip over: Ignore that bit about man pages - it's wrong.  Man pages are already installed so long as the right facet is set properly.  And that's a topic for another blog entry. If you boot the zone then just use zlogin myzone, you will see that services you care about haven't started and that svc:/milestone/config:default is starting.  That is because you have not yet logged into the console with zlogin -C myzone. If the zone has been booted for more than a very short while when you first connect to the zone console, it will seem like the console is hung.  That's not really the case - hit ^L (control-L) to refresh the sysconfig(1M) screen that is prompting you for information.

    Read the article

  • Merge home directory after fresh installation with existing (Gentoo) home

    - by jhwist
    I reinstalled my desktop machine with Ubuntu 10.10., coming from Gentoo where I used XFCE. My home is usually NFS-mounted from a server. During the install I let the installer set up my user, but of course my NFS-home wasn't mounted then; I have a regular /home/user now. If I mv /home /home.old and mount my NFS-home to /home instead, I cannot login because Gnome complains about some config-files (sorry, no exact error message as there is no way to copy&paste this). Which of my /home.old/user directories do I have to copy over to my NFS-home so that Gnome is happy again?

    Read the article

  • How do I reset my Ubuntu 12.10 password?

    - by Salvador Yniguez
    So my sister gave me this old laptop that has Ubuntu 12.10. The problem is that she has a username administrator password, but she forgot it. I've tried using GRUB and launching recovery mode and using the root shell prompt. And I type the "passwd username" command, and it tells me to type the new UNIX password, but when I try to type a new password it's like my keyboard doesn't even work. It types nothing. What's the problem? Why does my keyboard not type anything when I try to reset the UNIX password? It always works perfectly fine. I'm grateful for any help, thank you.

    Read the article

  • Xen 4.0.1 not booting with device not found error

    - by Disco
    I'm trying to get Xen 4.0.1 run as dom0 on a fresh/clean install of 10.10 desktop (x64). Followed the step by step tutorial at http://wiki.xensource.com/xenwiki/Xen4.0 I have the pvops kernel in /boot, also included the ext4 fs support by recompiling the kernel by : make -j6 linux-2.6-pvops-config CONFIGMODE=menuconfig make -j6 linux-2.6-pvops-build make -j6 linux-2.6-pvops-install Here's my grub entry : menuentry 'Xen4' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 insmod ext3 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set 2bf3177a-92fd-4196-901a-da8d810b04b4 multiboot /xen-4.0.gz dom0_mem=1024M loglvl=all guest_loglvl=all module /vmlinuz-2.6.32.27 root=UUID=2bf3177a-92fd-4196-901a-da8d810b04b4 ro module /initrd.img-2.6.32.27 } blkid /dev/sda1 gives the : /dev/sda1: UUID="2bf3177a-92fd-4196-901a-da8d810b04b4" TYPE="ext3" My partition shemes is : /boot (ext3) / (ext4) Whatever option i've tried i end up with : mounting none on /dev failed: no such file or directory And message complaining that it cannot find the device with uuid ... It's taking my hairs out, if somone has a clue ...

    Read the article

  • Optimistic work sharing on sparsely distributed systems

    - by Asti
    What would a system like BOINC look like if it were written today? At the time BOINC was written, databases were the primary choice for maintaining a shared state and concurrency among nodes. Since then, many approaches have been developed for tasking with optimistic concurrency (OT, partial synchronization primitives, shared iterators etc.) Is there an optimal paradigm for optimistically distributing units of work on sparsely distributing systems which communicate through message passing? Sorry if this is a bit vague. P.S. The concept of Tuple-spaces is great, but locking is inherent to its definition. Edit: I already have a federation system which works very well. I have a reactive OT system is implemented on top of it. I'm looking to extend it to get clients to do units of work.

    Read the article

  • Unable to connect to iFolder server

    - by Sven
    I tried to install iFolder on Ubuntu 10.10 server 64 bit using this guide. Everything "worked" except: If I try to acccess the server with http://myurl/admin I get the error-message "Unable to connect to the iFolder server." Has anyone succeeded with this guide, or is there an iFolder specialist who could help me with the last steps? Update 1: I could connect to the /admin-Interface by not changin anything in the config-script. Changing the ServerName in anything else than localhost brings back the error. And changing username and/or password has no affect.

    Read the article

  • Installing an asp application on a dnn server

    - by Cody Henrichsen
    I created a registration db/web application in C# for some workshops. The organization requesting is hosted on a DotNetNuke server. What changes do I need to make to the web.config so it can run under the site. Currently when I try to go to a page it get an error: Server Error in '/' Application. Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

    Read the article

  • Override an IOCTL Handler in PQOAL

    - by Kate Moss' Big Fan
    When porting or creating a BSP to a new platform, we often need to make change to OEMIoControl or HAL IOCTL handler for more specific. Since Microsoft introduced PQOAL in CE 5.0 and more and more BSP today leverages PQOAL to simplify the OAL, we no longer define the OEMIoControl directly. It is somehow analogous to migrate from pure Windows SDK to MFC; people starts to define those MFC handlers and forgot the WinMain and the big message loop. If you ever take a look at the interface between OAL and Kernel, PUBLIC\COMMON\OAK\INC\oemglobal.h, the pfnOEMIoctl is still there just as the entry point of Windows Program is WinMain since day one. (For those may argue about pfnOEMIoctl is not OEMIoControl, I will encourage you to dig into PRIVATE\WINCEOS\COREOS\NK\OEMMAIN\oemglobal.c which initialized pfnOEMIoctl to OEMIoControl. The interface is just to split OAL and Kernel which no longer linked to one executable file in CE 6, all of the function signature is still identical) So let's trace into PQOAL to realize how it implements OEMIoControl and how can we override an IOCTL handler we interest. First thing to know is the entry point (just as finding the WinMain in MFC), OEMIoControl is defined in PLATFORM\COMMON\SRC\COMMON\IOCTL\ioctl.c. Basically, it does nothing special but scan a pre-defined IOCTL table, g_oalIoCtlTable, and then execute the handler. (The highlight part) Other than that is just for error handling and the use of critical section to serialize the function. BOOL OEMIoControl(     DWORD code, VOID *pInBuffer, DWORD inSize, VOID *pOutBuffer, DWORD outSize,     DWORD *pOutSize ) {     BOOL rc = FALSE;     UINT32 i; ...     // Search the IOCTL table for the requested code.     for (i = 0; g_oalIoCtlTable[i].pfnHandler != NULL; i++) {         if (g_oalIoCtlTable[i].code == code) break;     }     // Indicate unsupported code     if (g_oalIoCtlTable[i].pfnHandler == NULL) {         NKSetLastError(ERROR_NOT_SUPPORTED);         OALMSG(OAL_IOCTL, (             L"OEMIoControl: Unsupported Code 0x%x - device 0x%04x func %d\r\n",             code, code >> 16, (code >> 2)&0x0FFF         ));         goto cleanUp;     }            // Take critical section if required (after postinit & no flag)     if (         g_ioctlState.postInit &&         (g_oalIoCtlTable[i].flags & OAL_IOCTL_FLAG_NOCS) == 0     ) {         // Take critical section                    EnterCriticalSection(&g_ioctlState.cs);     }     // Execute the handler     rc = g_oalIoCtlTable[i].pfnHandler(         code, pInBuffer, inSize, pOutBuffer, outSize, pOutSize     );     // Release critical section if it was taken above     if (         g_ioctlState.postInit &&         (g_oalIoCtlTable[i].flags & OAL_IOCTL_FLAG_NOCS) == 0     ) {         // Release critical section                    LeaveCriticalSection(&g_ioctlState.cs);     } cleanUp:     OALMSG(OAL_IOCTL&&OAL_FUNC, (L"-OEMIoControl(rc = %d)\r\n", rc ));     return rc; }   Where is the g_oalIoCtlTable? It is defined in your BSP. Let's use DeviceEmulator BSP as an example. The PLATFORM\DEVICEEMULATOR\SRC\OAL\OALLIB\ioctl.c defines the table as const OAL_IOCTL_HANDLER g_oalIoCtlTable[] = { #include "ioctl_tab.h" }; And that leads to PLATFORM\DEVICEEMULATOR\SRC\INC\ioctl_tab.h which defined some of IOCTL handler but others are defined in oal_ioctl_tab.h which is under PLATFORM\COMMON\SRC\INC\. Finally, we got the full table body! (Just like tracing MFC, always jumping back and forth). The format of table is very straight forward, IOCTL code, Flags and Handler Function // IOCTL CODE,                          Flags   Handler Function //------------------------------------------------------------------------------ { IOCTL_HAL_INITREGISTRY,                   0,  OALIoCtlHalInitRegistry     }, { IOCTL_HAL_INIT_RTC,                       0,  OALIoCtlHalInitRTC          }, { IOCTL_HAL_REBOOT,                         0,  OALIoCtlHalReboot           }, The PQOAL scans through the table until it find a matched IOCTL code, then invokes the handler function. Since it scans the table from the top which means if we define TWO handler with same IOCTL code, the first one is always invoked with no exception. Now back to the PLATFORM\DEVICEEMULATOR\SRC\INC\ioctl_tab.h, with the following table { IOCTL_HAL_INITREGISTRY,                   0,  OALIoCtlDeviceEmulatorHalInitRegistry     }, ... #include <oal_ioctl_tab.h> Note the IOCTL_HAL_INITREGISTRY handler are defined in both BSP's local ioctl_tab.h and the common oal_ioctl_tab.h, but due to BSP's local handler comes before "#include <oal_ioctl_tab.h>" so we know the OALIoCtlDeviceEmulatorHalInitRegistry always get called. In this example, the DeviceEmulator BSP overrides the IOCTL_HAL_INITREGISTRY handler from OALIoCtlHalInitRegistry to OALIoCtlDeviceEmulatorHalInitRegistry by manipulating the g_oalIoCtlTable table. (In some point of view, it is similar to message map in MFC) Please be aware, when you override an IOCTL handler in PQOAL, you may want to clone the original implementation to your BSP and change to meet your need. It is recommended and save you the redundant works but remember to rename the handler function (Just like the DeviceEmulator it changes the name of OALIoCtlHalInitRegistry to OALIoCtlDeviceEmulatorHalInitRegistry). If you don't change the name, linker may not be happy (due to name conflict) and the more important is by using different handler name, you could always redirect the handler back to original one. (It is like the concept of OOP that calling a function in base class; still not so clear? I am goinf to show you soon!) The OALIoCtlDeviceEmulatorHalInitRegistry setups DeviceEmulator specific registry settings and in the end, if everything goes well, it calls the OALIoCtlHalInitRegistry (PLATFORM\COMMON\SRC\COMMON\IOCTL\reginit.c) to do the rest.     if(fOk) {         fOk = OALIoCtlHalInitRegistry(code, pInpBuffer, inpSize, pOutBuffer,             outSize, pOutSize);     } Now you got the picture, whenever you want to override an IOCTL hadnler that is implemented in PQOAL just Clone the handler function to your BSP as a template. Simple name change for the handler function, and a name change in the IOCTL table header file that maps the IOCTL with the function Implement your IOCTL handler and whenever you need to redirect it back just calling the original handler function. It is the standard way of implementing a custom IOCTL and most Microsoft developers prefer. The mapping of IOCTL routine to IOCTL code is platform specific - you control the header file that does that mapping.

    Read the article

  • Turn off all sounds from websites

    - by David Oneill
    Often, I am listening to music of my choosing. Is there a way to preemptively turn off all sounds originating from websites? I don't want to click the 'mute' button once the page loads. And sometimes, it won't even have a mute. :-/ I use Chromium and FireFox. ~~EDIT~~ I use XFCE, so my menu options are different. Is this a gnome-specific utility? Or, what is the command for this utility?

    Read the article

  • Custom Russian Phonetic Keyboard

    - by roman
    I tried to custom Russian phonetic keyboard through Terminal. To do this I wrote: cd /usr/share/X11/xkb/symbols/ then: sudo gedit ru The document " ru (/usr/share/X11/xkb/symbols) - gedit " appeared on the desktop. I changed all the keys that suited me, saved the file and restarted the computer. However, the changes didn't work out. I checked the document again. The changes are there, but the keys still code for the old layout. I think I am missing some important point. Please help. By the way I get in Terminal this message: ** (gedit:14887): WARNING **: Could not load Gedit repository: Typelib file for namespace 'GtkSource', version '3.0' not found (gedit:14887): IBUS-WARNING **: The owner of /home/roma/.config/ibus/bus is not root! What does this mean?

    Read the article

< Previous Page | 718 719 720 721 722 723 724 725 726 727 728 729  | Next Page >