The '@' symbol in permissons?

When I look at a particular directory's permission I see the '@' symbol at the end. What does this mean? Thanks!

How can you set it to 'normal'?
You probably shouldn't.
How can you find out what those extended attributes are?
That specific one means there's a resource fork or metadata set by the Finder on that item. There is no global list.
(39477)

Similar Messages

  • What's with the @ symbol in permissions

    I don't recall seeing anything like this in pre-Leopard systems. After the upgrade to Leopard, many of my Terminal permissions listings now include the @ symbol at the end, as in drwxr-xr-x@. I'm not concerned or anything, just curious as to its meaning and any significance related to the new OS.
    Thanks,
    Greg

    Actually, "+" indicates the richer permission model (also known as ACLs).
    The "@" sign -- which is not documented in the manual page for ls(1) -- indicates that the file has extended attributes. You can use the command 'xattr -l <filename>' to show them. It seems that a lot of Finder information, which ought to be stored in the catalog, is now in extended attributes. (Hmmm, or maybe it's actually still in the catalog file and just being exposed as extended attributes, which would make a lot of sense.)

  • What does the "@" symbol after the "rwx" UNIX file permissions mean?

    Greetings All,
    I tried to run the Alliance VLSI CAD system using an example (examples/alliance-examples/multi16b-reg), but have not been able to.
    It complains that the file "vasy" cannot be executed as a binary file.
    Here is the transcript from the Terminal session.
    Go Trojans >make all
    MBKWORKLIB=.; export MBKWORKLIB; MBKCATAL_NAME=NOCATAL; export
    MBKCATALNAME;
    /Applications/apps/eda/alliancevlsi_cad_sys/downloadfiles/opt/alliance-5.0/bin/vasy
    -a -B -L -o -p -I vhdl multi16
    /bin/sh: /Applications/apps/eda/alliancevlsi_cad_sys/downloadfiles/opt/alliance-5.0/bin/vasy:
    cannot execute binary file
    make: * [multi16.vbe] Error 126
    Go Trojans >
    When I run "ls -al" in $(ALLIANCE_TOP)/bin, I get the following in
    the Terminal.
    Go Trojans >ls -al
    total 17656
    drwxr-xr-x@ 52 zhiyang staff 1768 Sep 2 2009 .
    drwxr-xr-x@ 12 zhiyang staff 408 Apr 12 16:24 ..
    -rwx------@ 1 zhiyang staff 108129 Sep 2 2009 a2def
    -rwx------@ 1 zhiyang staff 12219 Sep 2 2009 a2lef
    -rwx------@ 1 zhiyang staff 8713 Sep 2 2009 alcbanner
    -rwx------@ 1 zhiyang staff 135645 Sep 2 2009 asimut
    -rwx------@ 1 zhiyang staff 24975 Sep 2 2009 attila
    -rwx------@ 1 zhiyang staff 25747 Sep 2 2009 b2f
    -rwx------@ 1 zhiyang staff 157479 Sep 2 2009 boog
    -rwx------@ 1 zhiyang staff 111598 Sep 2 2009 boom
    -rwx------@ 1 zhiyang staff 106837 Sep 2 2009 cougar
    -rwx------@ 1 zhiyang staff 568722 Sep 2 2009 def2a
    -rwx------@ 1 zhiyang staff 251206 Sep 2 2009 dreal
    -rwx------@ 1 zhiyang staff 20138 Sep 2 2009 druc
    -rwx------@ 1 zhiyang staff 40808 Sep 2 2009 exp
    -rwx------@ 1 zhiyang staff 30100 Sep 2 2009 flatbeh
    -rwx------@ 1 zhiyang staff 9975 Sep 2 2009 flatlo
    -rwx------@ 1 zhiyang staff 9959 Sep 2 2009 flatph
    -rwx------@ 1 zhiyang staff 10746 Sep 2 2009 flatrds
    -rwx------@ 1 zhiyang staff 20588 Sep 2 2009 fmi
    -rwx------@ 1 zhiyang staff 20425 Sep 2 2009 fsp
    -rwx------@ 1 zhiyang staff 9962 Sep 2 2009 genlib
    -rwx------@ 1 zhiyang staff 2455 Sep 2 2009 genpat
    -rwx------@ 1 zhiyang staff 412314 Sep 2 2009 graal
    -rwx------@ 1 zhiyang staff 10881 Sep 2 2009 k2f
    -rwx------@ 1 zhiyang staff 78387 Sep 2 2009 l2p
    -rwx------@ 1 zhiyang staff 108420 Sep 2 2009 loon
    -rwx------@ 1 zhiyang staff 33889 Sep 2 2009 lvx
    -rwx------@ 1 zhiyang staff 36842 Sep 2 2009 m2e
    -rwx------@ 1 zhiyang staff 55347 Sep 2 2009 mips_asm
    -rwx------@ 1 zhiyang staff 65038 Sep 2 2009 moka
    -rwx------@ 1 zhiyang staff 2448244 Sep 2 2009 nero
    -rwx------@ 1 zhiyang staff 2172602 Sep 2 2009 ocp
    -rwx------@ 1 zhiyang staff 14498 Sep 2 2009 pat2spi
    -rwx------@ 1 zhiyang staff 9887 Sep 2 2009 pdv
    -rwx------@ 1 zhiyang staff 51121 Sep 2 2009 proof
    -rwx------@ 1 zhiyang staff 178806 Sep 2 2009 ring
    -rwx------@ 1 zhiyang staff 60506 Sep 2 2009 s2r
    -rwx------@ 1 zhiyang staff 37106 Sep 2 2009 scapin
    -rwx------@ 1 zhiyang staff 12324 Sep 2 2009 sea
    -rwx------@ 1 zhiyang staff 13430 Sep 2 2009 seplace
    -rwx------@ 1 zhiyang staff 12276 Sep 2 2009 seroute
    -rwx------@ 1 zhiyang staff 82653 Sep 2 2009 sxlib2lef
    -rwx------@ 1 zhiyang staff 77310 Sep 2 2009 syf
    -rwx------@ 1 zhiyang staff 301653 Sep 2 2009 vasy
    -rwx------@ 1 zhiyang staff 11854 Sep 2 2009 x2vy
    -rwx------@ 1 zhiyang staff 12392 Sep 2 2009 x2y
    -rwx------@ 1 zhiyang staff 174556 Sep 2 2009 xfsm
    -rwx------@ 1 zhiyang staff 167747 Sep 2 2009 xgra
    -rwx------@ 1 zhiyang staff 185034 Sep 2 2009 xpat
    -rwx------@ 1 zhiyang staff 249181 Sep 2 2009 xsch
    -rwx------@ 1 zhiyang staff 178627 Sep 2 2009 xvpn
    Go Trojans >
    I suspect the "@" symbol indicates why the executables cannot be
    run, even though the file permissions are set correctly.
    How do I get rid of the "@" symbol for these files? What does the "@" symbol mean?
    Thank you.
    Message was edited by: Zhiyang

    OK... Well, do you know what else may cause the problem?
    Does the following help?
    Go Trojans >ls -leO@
    total 17656
    -rwx------@ 1 zhiyang staff - 108129 Sep 2 2009 a2def
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 12219 Sep 2 2009 a2lef
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 8713 Sep 2 2009 alcbanner
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 135645 Sep 2 2009 asimut
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 24975 Sep 2 2009 attila
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 25747 Sep 2 2009 b2f
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 157479 Sep 2 2009 boog
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 111598 Sep 2 2009 boom
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 106837 Sep 2 2009 cougar
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 568722 Sep 2 2009 def2a
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 251206 Sep 2 2009 dreal
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 20138 Sep 2 2009 druc
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 40808 Sep 2 2009 exp
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 30100 Sep 2 2009 flatbeh
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 9975 Sep 2 2009 flatlo
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 9959 Sep 2 2009 flatph
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 10746 Sep 2 2009 flatrds
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 20588 Sep 2 2009 fmi
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 20425 Sep 2 2009 fsp
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 9962 Sep 2 2009 genlib
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 2455 Sep 2 2009 genpat
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 412314 Sep 2 2009 graal
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 10881 Sep 2 2009 k2f
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 78387 Sep 2 2009 l2p
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 108420 Sep 2 2009 loon
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 33889 Sep 2 2009 lvx
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 36842 Sep 2 2009 m2e
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 55347 Sep 2 2009 mips_asm
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 65038 Sep 2 2009 moka
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 2448244 Sep 2 2009 nero
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 2172602 Sep 2 2009 ocp
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 14498 Sep 2 2009 pat2spi
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 9887 Sep 2 2009 pdv
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 51121 Sep 2 2009 proof
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 178806 Sep 2 2009 ring
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 60506 Sep 2 2009 s2r
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 37106 Sep 2 2009 scapin
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 12324 Sep 2 2009 sea
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 13430 Sep 2 2009 seplace
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 12276 Sep 2 2009 seroute
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 82653 Sep 2 2009 sxlib2lef
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 77310 Sep 2 2009 syf
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 301653 Sep 2 2009 vasy
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 11854 Sep 2 2009 x2vy
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 12392 Sep 2 2009 x2y
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 174556 Sep 2 2009 xfsm
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 167747 Sep 2 2009 xgra
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 185034 Sep 2 2009 xpat
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 249181 Sep 2 2009 xsch
    com.apple.quarantine 42
    -rwx------@ 1 zhiyang staff - 178627 Sep 2 2009 xvpn
    com.apple.quarantine 42
    Go Trojans >
    They all seem to end with "com.apple.quarantine". What does this mean?

  • How can I will declare the symbol u2018 (Single Quote) in the report

    Hi ,
    Could you please tell me how can I will declare the symbol u2018 (Single Quote) in the report.
    My requirement is that I have concate the data with single quote and after that I have to store the data in to an internal table and I have to download the data in the form text file in the presentation server.
    For example :
    Let the below data I want to download into the presentation serve in the format of text file by storing in internal table.
    Assume all are constants:
    1st line : abcu2019add
    2nd line :  defu2019gef
    Thanks in advance.

    Hi Jyothi,
    Thanks for the quick reply .
    I can agree with you are point but My requirement is like this I am explaining clearly.
    I have declared the internal table like this.
    DATA: BEGIN OF OTAB OCCURS 0,
             LINE (9024),
           END OF OTAB.
    So I have to append the each line item into the internal table.
    So I am explaining what the data I have to append
    Ist line contains
    'UNBUNOC:2020308u2019 where 020308 I will get the  date from reguh table
    2nd line contains:
    'DTM+20020510' where the 20020510 will be reference document number from the table reguh.
    So I want to declare a constant 'UNBUNOC:2
    2nd the date from reguh table
    And another constant u2018
    So that I can concate all the three and I can put into string and I will append into internal table and I can download the data into the presentation server.
    Please let me know if you need any more clarification regarding my requirement.
    Thanks in advance.

  • The + symbol (to quickly open new tabs) to the right of the tab is gone. How do I get it back?

    In the last update of Firefox, the + symbol suddenly disappeared from the tabs section. In the past, this was used to open a new tab instead of having to go to the file menu. I would like to have the + symbol back on the right side of the tabs and cannot find a way to do this in the options or customize sections.

    Open the Customize window and set which toolbar items to display.
    *"3-bar" Firefox menu button > Customize
    *if missing items are in the Customize palette then drag them back from the Customize window on the toolbar
    *if you do not see an item on a toolbar and in the Customize palette then click the <u>Restore Defaults</u> button to restore the default toolbar setup
    See also:
    *https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars

  • PLS-00103: Encountered the symbol "SELECT" when expecting one of the follow

    Can any one tell me why I an getting compile error in Trigger with the following code (see below for the error message). Error is indicated in the IF statement Select clause.
    Code:
    -- AUdit Code Begin
    -- Note: Ony for those tables having 'AUDIT' UDP
    -- Value set to 'T'
    IF (Select Count(*) From DBConfiguration
    Where ConfigurationCode = 'AUDIT' AND
    ConfigurationValue = 'T') > 0 THEN
    WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
    :old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
    :old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
    :old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
    :old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
    CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
    :old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
    :old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
    :old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
    CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
    :old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
    End;
    WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
    CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
    CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
    CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
    CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    End if;
    -- Audit End
    Error:
    95/5 PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal with character set specification>
    <an alternativ
    97/39 PLS-00103: Encountered the symbol ")" when expecting one of the following:
    * & - + ; / at for mod remainder rem <an exponent (**)> and
    or group having intersect minus order start union where
    connect || multiset

    Here is the code:
    -- AUdit Code Begin
    -- Note: Ony for those tables having 'AUDIT' UDP
    -- Value set to 'T'
    IF (Select Count(DBConfigurationValue) From DBConfiguration
    Where DBConfigurationCode = 'AUDIT' AND
    DBConfigurationValue = 'T') > 0 THEN
    WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
    :old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
    :old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
    :old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
    :old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
    CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
    :old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
    :old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
    :old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
    End;
    WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
    CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
    :old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
    End;
    WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
    CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
    CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
    CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
    Begin
    Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
    VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
    CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
    End;
    End if;

  • PLS-00103: Encountered the symbol "" when expecting one of the following:

    Hi I am creating trigger using CFQUERY tag of cold fusion on oracle..
    <CFQUERY DATASOURCE="CRM">
    create or replace trigger AWC_ACCESSROLESID_TRI
    before insert on AWC_ACCESSROLES
    for each row
    begin
    select AWC_ACCESSROLESID_SEQ.nextval into :new.AR_ID from dual;
    end;
    </CFQUERY>
    But the created trigger is not compiled, it is giving the following error
    "Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the symbol "" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge <a single-quoted SQL string> pipe The symbol "" was ignored."
    If I edit that trigger in enterprose manager console by pressing space and compile that, it is working fine with out any error. If i run the above statement in sql *plus, It is working fine with out any error.
    Can you please tell me why this is happening if i run it using cfquery tag and also the possible solutions.
    Thanks in advance,
    Vinod

    So it works in Enterprise manager. It works in SQL*Plus. It doesn't work in CFQUERY. Sounds to me like a ColdFusion problem rather than an Oracle problem to be honest. Aren't there any ColdFusion support resources?
    Cheers, APC

  • Controlling a symbol from a button inside of the symbol

    I hope this explanation makes sense:
    I have an animate file with buttons on the main stage that control symbols.
    (buttons are circles labeled 1876 and 1877)
    The symbols simply move a png image on and off the stage.
    For example, the two circles labeled 1876 and 1877 are PNG files made into buttons that control two different symbols.
    The symbols move the scoreboard image on and off the stage.
    Within the scoreboard image is an X, that I am hoping to put a button on top of within the symbol to close the symbol.
    The code I am using to move the symbols on and off the stage is:
    var current = sym.getVariable("current");
       if (current != "") {
          sym.getSymbol(current).play("out");
          sym.getSymbol("syboard1876").play("in");
       else {
          sym.getSymbol("syboard1876").play("shortIn");
       sym.setVariable("current", "syboard1876");
    syboard1876 is the green board png.
    Any idea how i can get the symbol to move off of the stage by tapping it?
    And will I be able to have multiple buttons beneath the symbol (that are hidden beneath the b=green board when it is visible)?
    This was the original tutorial I adapted the get the animation to work so far.
    Tutorial: Leveraging Independent Symbol Timelines « Adobe Edge Animate Team Blog
    Now I just need to figure a way to give the user the ability to tap the X to close the symbol.
    Any suggestions?

    you could use $each() with jquery in compositionReady
    if not you need to get back to stage with sym.getComposition().getStage() or
    you could use this in compositionReady
    function useButtons(element) {
    sym.$(element).bind("click",function() {
      sym.$('image').attr('src','images/'+element+'.png').css({"opacity":1.00});  // this is a code example - I used the same name for the buttons and image names.
    // add button names here
    ['', '','' ,'',''].forEach(useButtons);

  • How can I set a symbol to hide with a code in the symbol?

    Hmmm... I will try to explain this question:
    I have my main timeline. It is the homepage of my website. The subsites are symbols filled with content. They are 100% of my composition and should overlay over my homepage.
    So when I click on the menu buttons on my homepage I can set the symbols (subpages, they are turned off, hidden) on and they will show and play. For that I am using this code:
    sym.$("mySymbol").show();
    sym.getSymbol("mySymbol").play(0);
    This works perfectly.
    So I actually looking for the code I put on a kind of closebutton. The closebutton jumps to the fade out transition. Then should close the compositsion - set it to hide. I am back on my homepage where I left it.
    I tried to put
    sym.$("mySymbol").hide();
    on a script in the timeline but that doesnt work. So can anybody tell me the right code?
    I searched a lot but couldnt find a solution.
    Thanks a lot for help!!!!

    There is also the possibility to use a variable but this might not be what you want.
    In this example you can play each page and use the close button to close the current page. If you try to play the other pages without closing the current, it will not work - only the close button with work to reset all the page's button to be able to play.
    Just try it:
    click a page button -It will play that page - now try to click the other page buttons - will not work.
    click the close button - it will close the current page.
    Now you can clck any page and it will play and so on.
    Example: https://app.box.com/s/bfg0lvy0spzwinefqzn7

  • How can I play an animation in reverse only if the symbol that contains the animation is visible? if the symbol is not visible have the trigger no longer target that symbol?

    Hi
    I have a button the does two functions at the same time. it plays a symbol's animation in reverse (in order to hide it) and it slides an element. the symbols animation is triggered by another button (which is not relevant) . So my problem is that if the animation has been triggered first than when the button is pushed the animation plays in reverse, the symbol hides and everything is fine, but if a push the button before that the animation will flash in reverse. SO how can I tell it to only play in reverse when the symbol's animation has run. I know it's an if / else statement but i have no idea how to do it.
    thx

    Here is a case close to your issue:
    if ( sym.getSymbol("Symbol1").$("Text").is(":visible") ) { sym.getSymbol("Symbol1").playReverse(); }
    else { sym.getSymbol("Symbol1").play(); }
    Demo files ==> isVisible.zip - Box

  • Report:"encountered the symbol of namespace....."

    My Envirement:
    CentOS 4.7||Oracle11g||pro*c
    My file of nn.pc:
    [oracle@oracle11g work2]$ more nn.pc
    #include<iostream>
    using namespace std;
    #include "sqlca.h"
    EXEC SQL BEGIN DECLARE SECTION;
    char *uid="scott/scott@wilson";
    EXEC SQL END DECLARE SECTION;
    int main()
    EXEC SQL CONNECT :uid;
    count<<sqlca.sqlerrm.sqlerrmc<<endl;
    if(sqlca.sqlcode == 0)
    cout<<"yes"<<endl;
    else
    cout<<"no"<<endl;
    [oracle@oracle11g work2]$
    my file of pcscfg.cfg:
    [oracle@oracle11g admin]$ more $ORACLE_HOME/precomp/admin/pcscfg.cfg
    sys_include=(/u01/oracle/precomp/public,/usr/include,/usr/lib/gcc/i386-redhat-linux/4.1.1/include,/usr/lib/gcc/i386-redhat-li
    nux/3.4.5/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include,/usr/lib/gcc/i586-suse-linux/4.1.0/include)
    ltype=short
    code=cpp
    cpp_suffix=cc
    parse=none
    SQLCHECK=SEMANTICS
    [oracle@oracle11g admin]$
    my file of /etc/profile:
    [oracle@oracle11g work2]$ more /etc/profile
    # /etc/profile
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    pathmunge () {
    if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
    if [ "$2" = "after" ] ; then
    PATH=$PATH:$1
    else
    PATH=$1:$PATH
    fi
    fi
    # Path manipulation
    if [ `id -u` = 0 ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
    fi
    pathmunge /usr/X11R6/bin after
    # No core files by default
    ulimit -S -c 0 > /dev/null 2>&1
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
    HOSTNAME=`/bin/hostname`
    HISTSIZE=1000
    if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
    fi
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
    for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
    . $i
    fi
    done
    unset i
    unset pathmunge
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;
    export LD_LIBRARY_PATH
    [oracle@oracle11g work2]$
    the error report:
    [oracle@oracle11g work2]$ source /etc/profile
    [oracle@oracle11g work2]$ proc nn.pc
    Pro*C/C++: Release 11.1.0.6.0 - Production on Sun Jun 21 20:15:44 2009
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    System default option values taken from: /u01/oracle/precomp/admin/pcscfg.cfg
    Error at line 1, column 10 in file nn.pc
    #include<iostream>
    .........1
    PCC-S-02015, unable to open include file
    Syntax error at line 2, column 8, file nn.pc:
    Error at line 2, column 8 in file nn.pc
    using namespace std;
    .......1
    PCC-S-02201, Encountered the symbol "namespace" when expecting one of the follow
    ing:
    ; , = ( [
    Syntax error at line 11, column 2, file nn.pc:
    Error at line 11, column 2 in file nn.pc
    .1
    PCC-S-02201, Encountered the symbol "{" when expecting one of the following:
    ; , = ( [
    The symbol ";" was substituted for "{" to continue.
    Syntax error at line 0, column 0, file nn.pc:
    Error at line 0, column 0 in file nn.pc
    PCC-S-02201, Encountered the symbol "<eof>" when expecting one of the following:
    ; { } ( * & + - ~ ! ^ ++ -- ... auto, break, case, char,
    const, continue, default, do, double, enum, extern, float,
    for, goto, if, int, long, ulong_varchar, OCIBFileLocator
    OCIBlobLocator, OCIClobLocator, OCIDateTime,
    OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
    OCIRaw, OCIString, register, return, short, signed, sizeof,
    sql_context, sql_cursor, static, struct, switch, typedef,
    union, unsigned, utext, uvarchar, varchar, void, volatile,
    while, an identifier, a typedef name, a precompiled header,
    a quoted string, a numeric constant, exec oracle,
    exec oracle begin, exec, exec sql, exec sql begin,
    exec sql type, exec sql var, exec sql include,
    Error at line 0, column 0 in file nn.pc
    PCC-F-02102, Fatal error while doing C preprocessing
    [oracle@oracle11g work2]$
    =======================
    what does this mean? I searched google, but there's no corresponding solution.
    Edited by: user3032370 on 2009-6-22 上午2:03

    Hi,
    I am facing simialr issue on racle 11G
    PCC-S-02201, Encountered the symbol "namespace" when expecting one of the follow
    ing:
    } auto, char, const, double, enum, extern, float, int, long,
    ulong_varchar, OCIBFileLocator OCIBlobLocator,
    OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
    OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
    short, signed, sql_context, sql_cursor, static, struct,
    typedef, union, unsigned, utext, uvarchar, varchar, void,
    volatile, a typedef name, a precompiled header, exec oracle,
    exec oracle begin, exec, exec sql, exec sql begin,
    exec sql type, exec sql var, exec sql include,
    The symbol "exec," was substituted for "namespace" to continue.
    Syntax error at line 28, column 7, file ./gen/acd_lib_ppc.i:
    Error at line 28, column 7 in file ./gen/acd_lib_ppc.i
    using std :: ptrdiff_t ;
    ......1
    PCC-S-02201, Encountered the symbol "std" when expecting one of the following:
    ; , = ( [
    Error at line 0, column 0 in file ./gen/acd_lib_ppc.i
    Did you find any solution to this please?
    proc details:
    [fnetdba@gwl09072appd194 code]$ proc
    Pro*C/C++: Release 11.1.0.7.0 - Production on Mon Feb 20 11:25:12 2012
    Copyright (c) 1982, 2007, Oracle. All rights reserved.

  • How to remove the '#'symbols for infoobject movement types in bex reporting

    Hi All,
      I have a problem in Bex reporting. The problem is when ever executing the report  that time some of the characteristic values is shown in layout '#' Symbols. i want to remove the '#' valuse in report.
    is it possible please give me step by step procedure for how to remove the '#' Symbols in reporing layout.
    this is very urgent please help to me on this issue.
    Thanks & Regards,
    Guna.

    Hi Guna,
    To achieve this issue, we need to replace the value of ‘#’, we need to change the description while retrieving the data from tables. So we need to write some ABAP code in SE38. Go to RSA1 transaction and go to Info objects tab. Then go to context menu for ‘cProject Key Figures’ as shown below. Click on the ‘Object Overview’ to get the overview of all the info objects. Here you can see the field names which are used to know the table names.
    In SE11, type the table name in ‘Database Table’ field. Now press ‘F4’, then you will get the next screen to select one of the P/Q/S/T tables.
    Now click on the button rounded in the below screen to view the data in the table.
    Now click the execute button or press ‘F8’ to view the records.
    Now go to Tcode: SE38. Create a source code and give some program name for that source code. To write code, you need access key. Contact your BASIS for this.
    Now write the below code for that particular table in which you want to change the value ‘#’ to description ‘Blank’. In the below source code, we are updating particular table, setting the field as ‘Blank’ where it is null or no value. Here the field will automatically get updated to ‘#’ if there is no value or null.
    update /BIC/PXXXXX set /BIC/ZXXXX = 'Blank' where /BIC/ZXXXXX is null or /BIC/ZXXXX = ''.
    if sy-subrc eq 0.
    write 'successful'.
    commit work.
    else.
    write 'unsuccessful'.
    endif.
    OR
    If this # is because of the missing master data than,
    right click that IO -> maintain master
    you will see first row as a blank.
    whatever value you maintain in this row that will come in the report for all Not assigned # values of the master data in the report.
    maintain it according to your requirement, save and activate the master data
    Hope this helps u...
    Regards,
    KK.

  • I want to change the sharing and permissions of a large number of photos. How can I do this in bulk rather than one at a time?

    I want to change the sharing and permissions of a large number of photos. How can I do this in bulk rather than one at a time?

    Does this involve iPhoto in some way?

  • Hello there - I am sharing an iPhoto library across two accounts on the same computer - it works fine EXCEPT for Quicktime movies - they play on one account and claim I don't have the rights on the other - all permissions are on and ok?

    Hello there - I am sharing an iPhoto library across two accounts on the same computer - it works fine EXCEPT for Quicktime movies - they play on one account and claim I don't have the rights on the other - all permissions are on and ok?

    It should be in the Users/ Shared folder.
    Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Note the option to check and repair Library Permissions
    Regards
    TD

  • How to make the symbol to be resolved within the shared library ?

    I have two definitions of a symbol, one is in the main code, the other in a shared library. I want the symbol to be resolved within the shared library if it needed in the shared library.
    From the 'C++ User�s Guide', use the option '-Bsymbolic' to build the shared library is a choice. But it also said 'Never use -Bsymbolic with programs containing C++ code, use linker map files instead. So I have to try to use the map file, but I did not get more useful information from 'Linker and Libraries Guide'.
    I want to know what should be included in the map file and how to generate the map file?
    Additionally, from the 'Linker and Libraries Guide', the 'Direct Binding' also could resolve this problem. And I tried to build the shared library by the '-B direct' option, it works.
    Could anybody tell me what's the difference between the '-Bsymbolic' and '-B direct'?
    Any comments are appreciated.

    You didn't provide fun.h, and you didn't show all the commands that you must have used -- there are no commands that compile the source code into .o files. So I can't tell why the -xldscope option didn't work for you.
    Problems and errors that I see in your example:
    Functions func and swap are referenced from C code, but swap and one of the func functions are compiled by the C++ compiler and will get mangled names. If you compile a function with the C++ compiler that is to be called from C code, you need to declare the function as extern "C". But the extern "C" in a shared header needs to be guarded by +#ifdef __cplusplus+, since a C compiler won't understand the declaration.
    When you build a shared library, you must explicitly list the libraries it depends on, since no dependencies are created by default. For a C++ library, you need at least -lCrun -lc in that order. Otherwise, in a real-world program you can have program failures due to incorrect library initialization order. To be sure you have listed all needed libraries, use the -zdefs option, which causes the linker to complain about missing definitions.
    To be sure the shared library is picked up at run time, provide a RUNPATH via the -R option when you build the executable.
    The -xldscope option must appear on compile commands for the files where you want it to take effect. It has no effect on a link command, because the option affects how code is generated.
    Here is my rewrite:
    % cat fun.h
    #ifdef __cplusplus
    extern "C"
    #endif
    void func();
    #ifdef __cplusplus
    extern "C"
    #endif
    void swap();
    % cat fun.c
    #include <stdio.h>
    #include "fun.h"
    extern "C" void func()
        printf("func in the shared lib\n");
    extern "C" void swap()
        func();
    % cat fun_in.c
    #include <stdio.h>
    #include "fun.h"
    void func()
        printf("func in the main code\n");
    % cat main.c
    #include <stdio.h>
    #include "fun.h"
    int main()
        func();
        printf("invoke the swap:\n");
        swap();
    % CC -G -xldscope=symbolic fun.c -Kpic -o liboutside.so -lCrun -lc -zdefs
    % cc -o run main.c fun_in.c -L. -loutside -R .
    % ./run
    func in the main code
    invoke the swap:
    func in the shared libAs you can see, it works as advertised.
    Please note that the -xldscope option affects all functions in the module. If you need more fine-grained control, you must add declarations to the source code, or use a mapfile instead of -xldscope .

Maybe you are looking for

  • LaserJet Pro 200 color mfp m276 Printing issues

    I have had this printer for about a year now.  Now it has started printing solid black lines across the page I am printing, whether it be from my computer or a fax.  I can run the cleaning process from the printer and its fine for a few hours and the

  • Audigy 2 or Audigy 4 safe in Nforc

    Think the older Audigy 2 or Audigy 4 are safe bets for my DFI NF4 mainboard? I already know the hard way X-Fi is a no go. Are these any different in PCI bus behavior from Audigy types? Meaning if the Audigy worked, either of these should behave preci

  • Trackpad issue after Yosemite upgrade

    I upgraded to Yosemite and the trackpad no longer allows me to so the two finger tap as a secondary click. This is very frustrating so any help appreciated! I have an old Mid 2009 Macbook Pro

  • Priveleges to create procedures/functions in schemas

    Greetings, I have a default schema associated with my user account. Can permissions be given for my user account to create functions and procedures in another schema without giving that user priveleges to create in ANY schema. Our default schema for

  • Re: F&A Pricing

    Dear all, I have a query on the F&A Pricing with condition type FA00 (Std.). I understood the part where we have to create the F&A settings in MAP and the formula repository. However, I could not seems to get a link on how the Condition Type FA00 wil