C-Wrappering & typedef

Hi everyone,
I am currently working on prototyping a C-wrappered solution on Windows
NT 3.51 using Forte 3.0.f.2 and I am having trouble wrapping a 'typedef
struct' structure. I have read the Integrating with External Systems
manual and I thought that I did everything right until I went to compile
using fcompile.
When I compiled the first time, I got the following errors:
WRPRTEST.cc
WRPRTEST.cc(273) : error C2733: second C linkage of overloaded function
'TestFunction1' not allowed
This confused me because I did not think that I was trying to overload
the function. On a suggestion from the manuals, I compiled with the
flag -cflags '-DFORTE_NO_FORWARDS' and received the following error
output:
WRPRTEST.cc
WRPRTEST.cc(296) : error C2664: 'TestFunction1' : cannot convert
parameter 1 from 'struct CONNECT_OPTIONS_STRUCT *' to 'CONNECT_OPTIONS
*' (new behavior; please see help)
Error during compilation, aborting.
So it would seem that I have not defined the wrapper properly. The C
structure that I am trying to wrapper is:
typedef struct
char * destination;
void * connopt;
char * client;
int trace;
CONNECT_OPTIONS;
The C function that uses this structure is:
CONN_HANDLE TestFunction1 (CONNECT_OPTIONS * options); //CONN_HANDLE is
an unsigned int
The only way that I found in Forte to wrapper this typedef struct was to
do the following:
struct CONNECT_OPTIONS_STRUCT
destination : Pointer to Char;
connopt : Pointer;
client : Pointer to Char;
trace : Int;
end;
typedef CONNECT_OPTIONS : CONNECT_OPTIONS_STRUCT;
The function is wrappered like this:
class Test_Methods inherits from Framework.Object
has public method TestFunction1(input options : Pointer to
CONNECT_OPTIONS) : CONN_HANDLE;
has property
distributed=(allow=off, override=on);
end class;
Does anyone see anything that I am obviously doing wrong? Is there a
special/appropriate way to handle typdef struct in TOOL? Any
suggestions would be much appreciated.
Thanks for your time,
-howard meisner
Howard Y. Meisner [email protected]
Consulting Services (617) 923 - 6664 (v)
OneWave, Inc. (617) 923 - 6565 (f)
-------------------------------------------------------------

Howard,
Are you trying to compile your C code with the C++ compiler? That might
lead to the name hashing error you seemed to get, where it made
CONNECT_OPTIONS into CONNECT_OPTIONS_STRUCT.
The file which (a) contains your C struct and C API definitions needs to be
compiled with C and C only. The C++ code generated by Forte which maps the
forte version of your struct needs to be compiled with C++.
-John
John L. Jamison
Vice President and Chief Technology Officer
Sage IT Partners, Inc.
415 392 7243 x 306
[email protected]
The Leaders in Internet Enabled Business Change

Similar Messages

  • Change value of a typedef in parallels to another running action

    Hello,
    Well, I have a problem with my VI.
    To summarize I use a Vi « IdsVg.vi » to achieve some measurements process.
    This one uses an action engine as a sub-vi to store data of the front panel and to precede complementary actions. The front panel is a strict typedef…
    I programmed the Vi avoiding to use sequence structures in order to be able to do other actions on the front panel in parallels. Nevertheless I’m running out of ideas for solving my problem.
    The problem:
    I would like to change values (time constant, Boolean of graph) of the front panel at any instant when the main vi is running. The actual problem is: when I start the program, using register event I can change values of the front panel, but when the program is running the while loop in which it gets the measurement, it isn’t possible to change parameter of the front panel…  
    Is there a solution or a trick??
    Thank you for help
    Attachments:
    MyProblem.lvproj ‏10 KB

    Putting in the project file does not help much, good try though. The actual files are missing though, so nothing shows up.
    I suggest you create a separate producer consumer loop in your main vi. The vi retrieving the data could pass the relevant data (producer) and the consumer loop will then process the data and update the fron tpannel. Note, only the producer consumer loop will update the front pannel.
    You would not need a sequence structure to control the update. The producer consumer loop will only execute when you provide the necessary data.

  • ArrayList and wrappers

    Can an ArrayList contain different types of objects from the same class?
    I know that it must be an object but can one be of type String and another be of type int?
    I am reading information from a file that looks something like this:
    Sam
    Jones
    21
    Tim
    Hendricks
    15
    I have written the following method:
    ArrayList list = new ArrayList();
    String fname;
    try
      BufferedReader br = new BufferedReader(new FileReader("student.txt"));
      while ((fname = br.readLine()) != null)
             String lname=br.readLine();
         int age= br.readLine();
         br.readLine(); //FOR THE BLANK LINE
         list.add(new Student(fname, lname, age));
      br.close();
    catch(IOException e)
      System.err.println(e.getMessage());
      System.exit(0);
    }If I declare age as type String the method and other methods work great, but I need to make it of type int.
    I have read up about wrappers and I think that is what I am suppose to use for the int but no matter what I do, I get tonnes of error messages.
    Any help would be appreciated.

    A better way would be to build a class for your data packet.
    class Thing {
      public final String name;
      public final int age;
      public Thing(String name, int age) {
        this.name = name;
        this.age = age;
    public class SomeClass {
      public static void main(String[] args) {
        List list = new ArrayList();
        list.add(new Thing("Jill",10));
        list.add(new Thing("John",20));
        list.add(new Thing("Janet",30));
        list.add(new Thing("Jeremy",40));
    }Then you can simply get your values back with
    for(Iterator iterator = list.iterator(); iterator.hasNext(); ) {
      Thing thing = (Thing) iterator.next();
      System.out.println("Name: "+thing.name);
      System.out.println("Age: "+thing.age);
    }Or something like that...
    Talden

  • Just checking on another odd feature: Typedef enum Property Node "Value" not reflecting changes in the Typedef?

    Just encountered this odd behavior in LV 2011 which I reduced to the following example:
    - create a new VI and drop an enum control on te FP.
    - make this control a typedef and open the corresponding typedef
    - create a "case 1" item and a "case 2" item
    - save the typedef (I used the name Typedef Control 1) and CLOSE it (this is to allow updating of the original control).
    - drop a case structure on the diagram and connect the enum to it:
    So far so good. Now create a "Value" Property node for the enum and use it instead of the terminal:
    If I now go back to the typedef and add a "case 3" item, save the typedef and close it, the control is updated, but the Property node is not.
    How do I know that? For one, the Case Structure contextual menu does not offer to create a case for every value. Also, if I add a "case 3" case manually, it turns red.
    Luckily, the magic Ctrl-R key stroke actually does solve this problem.
    Tested in LV 2011.

    By Ctrl-R trick do you simply mean running the VI?  That is one way to force a recompile, but if you hold down Ctrl while pressing the run button you can recompile without running.  This should not be "dangerous" in any situation.
    As you have drawn your example, I see no reason not to use a local in that situation (ok, maybe for vanity).  Still, I view the behavior you describe as a bug, and it should certainly be fixed for the benefit of local haters out there.  You have to be a little careful where you draw the line between what gets handled in real time and what gets handled only at compile time.

  • How To Create Object Wrappers

    Hi there,
    I would like to implement some better and custom error handling in some of the business objects.  Objects such as the Recordset and Documents can have a tendency to 'die' on a line that errors and I would like to create wrappers for these classes so I can handle them using common methods.
    I have tried to create new classes inheriting from RecordsetClass and DocumentsClass and everything compiles fine but produces COM errors as soon as I try to access them at runtime.  Are we just out of luck trying to enhance these classes?  Is our only option to write a one-off wrapper that simply handles the SBO object type internally in our new class?
    It would seem very beneficial to be able to extend these objects in order to implement common methods and business rules.  Has anyone been successful at doing this?
    Here is my class declaration that fails when I try to access it at runtime:
    using System;
    using System.Runtime.InteropServices;
    using SAPbobsCOM;
    namespace NMO.SAP.Shared
        /// <summary>
        /// PLS Wrapper for the SAP Documents object
        /// </summary>
        public class SBODocuments : DocumentsClass
            private SAPbobsCOM.Company sboCompany;
            public SBODocuments(SAPbobsCOM.Company company)
                this.sboCompany = company;
            /// <summary>
            /// New implementation of the Add method returning true or false
            /// </summary>
            /// <returns>True or false</returns>
            public new Boolean Add()
                Boolean retVal = true;
                try
                    // Add method returns 0 if successful
                    if (base.Add() != 0)
                        retVal = false;
                        SBOErrorHandler.HandleSAPError(this.sboCompany);
                catch (COMException cex)
                    retVal = false;
                    SBOErrorHandler.HandleSAPError(this.sboCompany, cex);
                catch (Exception ex)
                    retVal = false;
                    SBOErrorHandler.HandleSAPError(this.sboCompany, ex);
                return retVal;
    Thanks very much,
    David

    David,
    A good aproach would be to convert .COM objects to .NET
    This application <a href="http://www.aurigma.com/Products/COMtoNET/">COMtoNET</a>
    Will generate all the C# Code needed to convert COM objects to .NET, and then you'll be able to catch any event, error and so on.

  • How can I establish an enum typedef for use with state machines and action engines?

    Hey all--
    I have an action engine with several instances.  Any time that I add a method to the engine, I have to modify all of the calling code to update the constant that determines the method being called.  There must be a smarter way to address this problem but my LV experience is insufficient to identify it.  Can any of you wiz-bangs tell me if it is possible to make a type def (I can do this) and use it with each instance of the action engine call so that changing any instance also updates the typedef?
    Thanks.

    Take your enumerator.  If it is not a control (ie constant), change it to a control.
    Under File Menu, select New > Custom Control.
    Move (or copy) your Enum Control to the Custom Control.  Change the Control to Strict Type Def (the selection to the right of the wrench).  Save it.
    (EDIT: ** OOps, the picture shows the wrong one.. sorry**)
    Copy that new Strict Type Def control to your code.
    See images below.
    OR.. If you're using LV8.x, and using a project, I would recomment that you do it from within your project explorer.  Simply insert a new "Control".  The rest of the steps are similar, except that you can insert it from your project. 
    R
    Message Edited by JoeLabView on 07-08-2008 06:47 PM
    Attachments:
    TypeDef.PNG ‏33 KB

  • How do I find the typedef for a control?

    I have several VI's (350+) which make use of a number of typedef and strict typedef controls. I want to automatically generate some documentation but I would like to insert the name of the typedef as the data type but I cannot see how to make the link between a control from Controls[] to the control VI's listed in Callees[]. I suspect that there may be something in the Type Descriptor of the control but I cannot find anything that explains how I can map this to one of the Callees[].
    Thanks
    Bill

    One way is to use an otherwise unused property of all your TYPEDEFS to store the name in. You could use CAPTION, DESCRIPTION, or TIP.
    If you set the CAPTION property of your TYPEDEF to "My TypeDef", then your doc generator can use a contol refnum and a property node to get at the caption.
    On second thought, that might only work for STRICT TYPEDEFS, since the caption may be independent otherwise.
    Even if that works, it means going back and editing your 350+ files.
    < UGLY HACK ALERT >
    Another way is to compare the TYPE DESCRIPTORS to a known set of type descriptors.
    Suppose your doc gen app has a cluster of 350+ instances (one instance of each) of your typedefs. You set the caption or label of each one of these to the text you want to see.
    Use the CONTROLS[] property of the cluster to get an array of control refnums. When you have a control you want to find the type of, get its TYPE DESCRIPTOR.
    Search thru your reference control refnum array, getting the TYPE DESCRIPTOR of each, and comparing it to the TYPE DESCRIPTOR of the control in question. When you find a match, extract the CAPTION of the reference control and use it.
    Be aware that the TYPE DESCRIPTORS may be 100+ words long.
    You might have to include the basic types (I16, U32, STR) in your reference cluster, or deal with them separately if not found in your table.
    < /UGLY HACK ALERT >
    The type descriptors are meant as an internal structure, with good reason, I suppose. NI can change them at any time. Still, comparing them for equality shuold always be valid.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • EJB 3.0 Web Services - Custom Request/Response Wrappers

    Hi All,
    I'm having an issue using Document Literal Wrapped web services with EJB 3.0. I have declared a service endpoint interface(SEI) in one jar file, along with custom wrapper classes for the requests and responses. The wrappers have the XML content customized a bit (different type names, etc.), but should be compatible with the @RequestWrapper and @ResponseWrapper annotations. The implementation is in an EJB jar file that includes the jar with the SEI in it. My issue is that the wrapper classes I declared are not being used, and instead new ones are being generated. Is it even possible for it to use supplied wrappers, or does it have to generate its own (and if so, is it in any way possible to specify the XML types it generates). I've tested this with wsgen, and I get the same result (new wrapper classes, the ones I supplied ignored) as when I deploy it. Here is the output from wsgen:
    Note: ap round: 1
    [ProcessedMethods Interface: com.company.IngestorService]
    [should process method: ingestProductDirectory hasWebMethods: false ]
    [endpointReferencesInterface: true]
    [declaring class has WebSevice: true]
    [returning: true]
    [WrapperGen - method: ingestProductDirectory(java.lang.String,java.lang.String)]
    [method.getDeclaringType(): com.company.IngestorService]
    [requestWrapper: com.company.IngestProductDirectoryRequest]
    [should process method: datatypes hasWebMethods: false ]
    [endpointReferencesInterface: true]
    [declaring class has WebSevice: true]
    [returning: true]
    [WrapperGen - method: datatypes()]
    [method.getDeclaringType(): com.company.IngestorService]
    [requestWrapper: com.company.DatatypesRequest]
    com\company\DatatypesRequest.java
    com\company\DatatypesResponse.java
    com\company\IngestProductDirectoryRequest.java
    com\company\IngestProductDirectoryResponse.java
    Note: ap round: 2
    I note that is says "hasWebMethods: false". Could that be an issue? Could it not be seeing my methods as web methods. The SEI and the implementation class are in different jar files and different packages. Could this be an issue?
    Here is the web service interface:
    @WebService(
    name = "IngestorService",
    targetNamespace = "http://company.com/"
    @SOAPBinding(
    style = SOAPBinding.Style.DOCUMENT,
    parameterStyle = SOAPBinding.ParameterStyle.WRAPPED
    public interface IngestorService
    @WebMethod(
    action = "http://company.com/ingestProductDirectory"
    @WebResult(
    name = "response",
    targetNamespace = ""
    @RequestWrapper(
    className = "com.company.IngestProductDirectoryRequest"
    @ResponseWrapper(
    className = "com.company.IngestProductDirectoryResponse"
    public void ingestProductDirectory(
    @WebParam(
    name = "sourceDirectory",
    targetNamespace = ""
    String sourceDirectory,
    @WebParam(
    name = "datatype",
    targetNamespace = ""
    String datatype);
    @WebMethod(
    operationName = "datatypes",
    action = "http://company.com/datatypes"
    @WebResult(
    name = "datatypes",
    targetNamespace = ""
    @RequestWrapper(
    localName = "DatatypesRequest",
    className = "com.company.DatatypesRequest"
    @ResponseWrapper(
    localName = "DatatypesResponse",
    className = "com.company.DatatypesResponse"
    public List datatypes();
    Here are the datatype request and response wrappers:
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(
    name = "DatatypesRequest"
    public class DatatypesRequest
    DatatypesResponse.java:
    @XmlAccessorType(XmlAccessType.PROPERTY)
    @XmlType(
    name = "DatatypesResponse",
    propOrder =
    "datatypes"
    public class DatatypesResponse
    private List<String> _datatypes;
    @XmlElementWrapper(
    name = "datatypes",
    required = true,
    nillable = false
    @XmlElement(
    name = "datatype",
    required = false
    public List<String> getDatatypes() {
    if (_datatypes == null) {
    _datatypes = new ArrayList<String>();
    return _datatypes;
    Any help would be greatly appreciated. Thanks.

    I have been trying to do the same... and it seems to be impossible... (or completly undocumented).
    It seems that OC4J 10.3.x is ... no exactly fully EJB3/J2EE5 compliant...
    Or something like that:
    http://blogs.infosupport.com/berte/archive/2005/09/09/1117.aspx
    IMHO... OC4J 10.3.x is still a preview for OC4J 11...
    OC4J 10.3.x is kind of a J2EE4/5 hybrid... if you start digging in the documentation, you will find out that the only
    way to have WS-Security is going back to J2EE4 http://www.oracle.com/technology/products/jdev/howtos/1013/wssecure/10gwssecurity_howto.html
    (of course, I hope you probe me wrong)
    Message was edited by:
    luxspes

  • Defs.h:a typedef name cannot be used in an elaborated type specifier

    Hi,
    I recently migrated from Workshop C++ 4.2 (Solaris 2.6) to C++5.0
    When I recompiled all my programs, I get these errors in the header files :
    "/opt/SUNWspro/SC5.0/include/CCios/stdiostream.h", line 29: Error: streamoff is
    not defined.
    "/opt/SUNWspro/SC5.0/include/CC/rw7/rw/defs.h", line 316: Error: A typedef name
    cannot be used in an elaborated type specifier..
    "/opt/SUNWspro/SC5.0/include/CC/rw7/rw/defs.h", line 317: Error: A typedef name
    cannot be used in an elaborated type specifier..
    "/opt/SUNWspro/SC5.0/include/CC/rw7/rw/defs.h", line 318: Error: A typedef name
    cannot be used in an elaborated type specifier..
    "/opt/SUNWspro/SC5.0/include/CC/rw7/rw/stringid.h", line 50: Error: A typedef na
    me cannot be used in an elaborated type specifier..
    "/opt/SUNWspro/SC5.0/include/CC/rw7/rw/stringid.h", line 51: Error: A typedef na
    me cannot be used in an elaborated type specifier..
    I've installed the following patches (107311-19, 107390-19, 107357-11) and compiled with the -library=rwtools7,iostream options.
    It still doesn't work and I can't figure out why...
    Any help would be appreciated.
    Thanks
    Annie

    Workshop 5.0 is EOLed. Please try the current version 'Sun One Studio 7, Compiler Collection'(http://wwws.sun.com/software/sundev/suncc/index.html) or 'Sun One Studio 7, Enterprise Edition'(http://wwws.sun.com/software/sundev/solde/index.html)
    - Rose

  • How to define tcp wrappers for a new service in Solaris 10?

    Hi all, I need to setup tcp wrappers for a third-party software product with /etc/hosts.allow.
    I installed Trillium software on a new Solaris 10 server. It added this entry to /etc/inetd.conf:
    dscserv0_rel1300 stream tcp nowait tsadmin /usr/bin/env env -i HOME=/home/tsadmin LOGNAME=tsadmin /opt/trilv13/TrilliumSoftware/server/metabase/bin/mtb_server
    After the install, I ran inetconv and this new SMF service was created:
    *# svcs -a|grep dsc*
    online         13:22:57 svc:/network/dscserv0_rel1300/tcp:default
    Here's the problem: After this, all new connections were denied by default. I had to disable tcp wrappers with this command:
    inetadm -m svc:/network/dscserv0_rel1300/tcp:default tcp_wrappers=FALSE
    I would prefer to enable tcp wrappers, and put an entry into /etc/hosts.allow, but I can't figure out what service name to put into /etc/hosts.allow. I've read through the man pages but I can't identify the service name to use for this new service, and it won't accept the FMRI or an abbreviation of it either.
    How do I identify the service name to put into /etc/hosts.allow?

    At OS level, before entering Sql*Plus, do :
    $ EDITOR=vi; export EDITOR
    $ sqlplus ......
    Message was edited by:
    Paul M.
    Ciao Nicolas :-)

  • Sharing typedefs and VIs between different targets in the same project

    Hi,
    I'm writing a distributed application that runs on a PC and a CompactRIO. There are some data structures and convenience functions (typedefs and VIs) that I'd like to share between them. What's the recommended way of doing so? Is an LVLIB suitable for this purpose?
    I currently just host the shared items on the "My Computer" target. However, when I'm editing my code, I sometimes have to click "synchronize with other application instances". Also, the shared items show up on the dependencies list of my cRIO target. I'd rather not have these happen; is it possible to avoid these?
    Thanks!
    Solved!
    Go to Solution.

    Hi JKSH,
    JKSH wrote:
     I'd rather not have these happen; is it possible to avoid these?
    Why do you want this not to happen? When you assign a VI to one target, but still use that VI on the other target, LabVIEW has to recompile for that other target (read: No, you can't avoid that!).
    I do the same for many VIs (a lot of them in my user.lib) but still have no problems with it. And using the same typedef for all targets in a project really helps minimizing errors!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Error while mapping BAPI wrappers.

    Hi,
    I have two SAP standard BAPIs (GetList & GetDetail) related with Inventory. When I assigned these BAPIs into my SyncBO and tried for mapping, I got an error "No import parameter refering to a filed of header structure exists in GetDetail BAPI Wrapper". How can I rectify this?
    I have seen some previous threads in forum like this, but I didnt got it well.
    Hope someone can give me better clarification regarding this & the constraints required for BAPI wrappers that can be used with a SyncBO. 
    Regards
    Shemim

    Hi Shemim,
    Kindly check the below article which explains about developing bapi wrappers with a sample syncbo.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/mobile/mobile%20infrastructure/mobile%20offline%20application%20development%20a%20complete%20guide%20using%20mobile%20infrastructure%20tools.pdf
    This will give you a better picture, how a bapi should be developed.
    Cheers,
    Karthick

  • Enum in a Typedef Reverts to Default (LabVIEW 2009)

    When I add additional items to a typedef'd enum, constants of that enum on some BD's revert back to the default zero index enum value. In the past (8.6.1 and previous), adding items to an enum in no way would ever change constants that were already dropped on a BD. Now, in LabVIEW 2009, when I add items, about 60-70% of the constants dropped on different block diagrams will be changed to default value.
    This happens in a "large" enum (~400 elements) that spans about 3 dozen VI's between RT and HMI block diagrams (a total of about 300 instances). This is a mature project that has never had this problem with 8.2, 8.5, 8.6, or 8.6.1...
    I cannot post an example, because in the process of stripping down the VI, the problem goes away. It is extremely repeatable in the context of the project, but I cannot repeat it on an individual VI basis.
    The current workaround is to edit the typedef'd enum while all referencing VI's are in memory. If the VI's that use the typedef are in memory, they will always properly recompile and maintain the correct constant value. However, if the VI is not in memory, and the typedef is changed, the next time the VI is opened, when it recompiles it will change the constants back to the zero index default value of the enum in only about 60-70% of VI's. Unfortunately, we cannot yet find a common thread in the VI's that recompile wrong, and the ones that recompile correctly. 
    Has anyone ever seen this problem? Suggestions?
    Best regards,
    Jack
    a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

    We just realized a flaw in our "workaround", as partially pointed out by Ben (he was probably typing his response as we were confirming it here). If the constant is inside of a cluster on the BD, even if it is in memory, it will null out the enum inside of the constant. Therefore, the "workaround" is to rewrite the clustered enum constants from scratch (in other words, there's no workaround). Two of us spent a decent portion of the morning finally nailing this as the source of what we thought was an unrelated bug... and that's after spending a long day yesterday trying to find a fix. Yes, we feel Ben's angst of reverting back to previous SCC editions and manually editing dozens of VIs.
    The severity of this bug is a showstopper for us. We cannot risk adding elements to an enum and consequently have referencing VIs changing their constants.
    Force compiling a VI one at a time is not an option for us. I know this bug manifests itself even after a mass compile. So, is there a way to "mass force re-compile" that we could test?
    a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

  • How to enable TCP Wrappers with SMF services?

    I am using a site.xml file to enable/disable services during a Jumpstart configuration. This works great.
    However, I can't yet figure out how to configure the various properties of those services, such as enabling TCP Wrappers for a service. I can set the properties of a service and verify that they are set, but a "svccfg extract" does not capture that information.
    Is this a short coming of svccfg extract? Or are the properties of a service stored and configured elsewhere?

    That will work, as will any path underneath
    /var/svc/manifest.Got it working...Exported the inetd configuration, set tcp_wrappers to false, dropped inetd.xml into my jumpstart tree, jumped a box, and tcp_wrappers came up enabled by default for my inetd services!
    What is the difference between the /var/svcs/profile and /var/svcs manifest directory? Is profile for enabling/disabling services and manifest for service configuration?
    Does /var/svcs/profile/site.xml and /var/svcs/manifest/whatever.xml get read on every system boot? If not, what is the appropriate procedure to "reinitialize" smf if you want to change the existing behaviour by having it reread those files?
    Hmm. The defaults get written on the inetd serviceI believe, so exporting that would give you the
    fragment
    you want.It did, and I was able to accomplish what I needed to do.
    Sorry that it's such a slog in the meanwhile.Will there be something before FCS in a couple weeks?
    I can definetly see the managability and robustness of SMF. It's just going to take time to learn it, and documentation is needed for that.
    Thanks for all your help!

  • How to stop a cluster constant typedef from resizing when the typedef is changed?

    Using LabVIEW 7.1...
    I've been using cluster typedefs to make make constants on the block diagram.  I usually resize them so they are nearly the size of a few characters.  When the typedef is updated the constant expands to full size.  Usually I can just resize it again but if the constant is inside a structure things get rather messy.  To stop the structures from resizing I've been leaving the constants outside of them.  Is there any way to stop the resizing?  I've ensured that autosize is set to None for both the typedef and the constant on the block diagram.

    I found the NI example that makes tst point.
    In the "Palette API" (that was developed by an NI Developer and recently posted to the LV Zone) shows how sub-VI's can be used to fix the "auto-explode" diagram issue.
    See image below.
    BTW: It also lets you document the data through the documention of the sub-VI.
    Ben
    Message Edited by Ben on 06-13-2007 03:12 PM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    NI_Example.PNG ‏33 KB

Maybe you are looking for