A question about /usr/include/sys/select.h header file

good day! i hope i can get some help about this and i would be very grateful if my question will be answered. i have a question regarding the select.h header file that we include in our programs when we use the select(3C) function.
* Select uses bit masks of file descriptors in longs.
* These macros manipulate such bit fields.
* FD_SETSIZE may be defined by the user, but the
* default here should be >= NOFILE (param.h).
29 #ifndef FD_SETSIZE
30 #define FD_SETSIZE 1024
31 #endif
its says here in the header file that the value of FD_SETSIZE may be defined by the user and i need to know how. i've already tried declaring a constant at the beggining of the program but it didn't work...
example:
#undef FD_SETSIZE
#define FD_SETSIZE 2048
the FD_SET macro generates an error if a value larger than 1024 is passed from in the first argument. i need to increase its value in order for me to wait for more than 1024 socket descriptors on select function. how can i increase or modify its value? thanks in advance...

AFAIK, the only way to change the FD_SETSIZE value is by building your own version of the libc.a and linking it statically to your executable. Not good at all IMHO.
The sources of Solaris 8 contain the implementation of select(3C) with both standard and 'large' (64K) FD_SETSIZE.
AFAIK, 64-bit version of the libc.so contains the 64K-descriptors version of the select(3C), so you may consider building your application with -xarch=v9 flag to get 64-bit application...
As for poll(2) - there is a manual page (man -s 2 poll) and some notes in the Answerbook. poll(2) is the actual system call that is used by select(3C), which is an interface function, so there is no functional difference between these two.
There is a potential problem with portability of your code if you are using poll(), but it looks like you have no choice... sorry about it...

Similar Messages

  • A questions about /usr/include/sys/select.h header file

    good day! i hope i can get some help about this and i would be very grateful if my question will be answered. i have a question regarding the select.h header file that we include in our programs when we use the select(3C) function.
    * Select uses bit masks of file descriptors in longs.
    * These macros manipulate such bit fields.
    * FD_SETSIZE may be defined by the user, but the
    * default here should be >= NOFILE (param.h).
    29 #ifndef FD_SETSIZE
    30 #define FD_SETSIZE 1024
    31 #endif
    its says here in the header file that the value of FD_SETSIZE may be defined by the user and i need to know how. i've already tried declaring a constant at the beggining of the program but it didn't work...
    example:
    #undef FD_SETSIZE
    #define FD_SETSIZE 2048
    the FD_SET macro generates an error if a value larger than 1024 is passed from in the first argument. i need to increase its value in order for me to wait for more than 1024 socket descriptors on select function. how can i increase or modify its value? thanks in advance...

    AFAIK, the only way to change the FD_SETSIZE value is by building your own version of the libc.a and linking it statically to your executable. Not good at all IMHO.
    The sources of Solaris 8 contain the implementation of select(3C) with both standard and 'large' (64K) FD_SETSIZE.
    AFAIK, 64-bit version of the libc.so contains the 64K-descriptors version of the select(3C), so you may consider building your application with -xarch=v9 flag to get 64-bit application...
    As for poll(2) - there is a manual page (man -s 2 poll) and some notes in the Answerbook. poll(2) is the actual system call that is used by select(3C), which is an interface function, so there is no functional difference between these two.
    There is a potential problem with portability of your code if you are using poll(), but it looks like you have no choice... sorry about it...

  • What's the largest header file in /usr/include/sys?

    Just noticed this,
      $ ls -l /usr/include/sys | sort +4n | tail -3
      -rw-r--r--   1 root     bin        59151 Jul  4 03:39 dtrace_impl.h
      -rw-r--r--   1 root     bin        76941 Jul  4 03:39 sunddi.h
      -rw-r--r--   1 root     bin        83768 Jul  4 03:39 dtrace.hwhich is great because dtrace.h is so rich with comments, and dtrace_impl.h has plenty of ASCII art. Hooray!
    This more than makes up for the sins of /usr/include/sys/tnf_probe.h! ;-)
    .... now if you guys are ever bored, feel free to update /usr/include/sys/swap.h, /usr/include/vm/anon.h ... :-)
    Brendan

    Sorry I was really busy the last few days. Thank you for your answers!
    I probably should have left out all the specifics of what the software was that I was packaging, because I think what I was really asking did not come across clearly. What I really wanted to know is:
    Why do I have to provide the "-I /usr/include/headers_dir" compiler option for some libraries but not for others, although the header files for each lie in a level 1 subdir of /usr/include?
    I thought that maybe there was some kind of index of installed libraries that I didn't know about, which I could have updated from within PKGBUILD (so I guess that's why I included it originally). Seems to me now, though, that this is not the case.
    I did put in some google time (but not lots b/c 1. hard to google and 2. busy) to find an answer, but to no avail and it's not really top priority right now (and quite honestly never will be, since there is the -I option), so I guess it'll have to wait, unless someone knows...
    ---EDIT---
    So, right after I posted this (stupid me) I had a little think and I finally understand, whats happening.
    1. Headers are not found without specifying the directory they are in.
    2. I need the -I option because easykf headers are not well formed.
    Thanks a lot!
    Last edited by maximax (2013-09-27 00:26:03)

  • Question about /usr/local/bin in Mavericks ...

    I just did a clean install of Mavericks on a 2010 MacPro. I understand Mavericks does not replicate this path (/usr/local/bin) when doing a clean install. Prior to this I was running 10.7.xx and I had a few compiled binaries installed in the bin folder. How do I address this? Can I simply recreate the path manually without risk?
    Thanks.
    -paul.

    etresoft The 905
    Re: Question about /usr/local/bin in Mavericks ... 
    Jan 15, 2014 9:30 AM (in response to Paul Figgiani)
    So why would you expect /usr/local/bin to be there? If you install custom, low-level software like this on one system, it will not get migrated to the new system.
    As I stated in my original post I did not expect it to be there. All I'm asking is how do I adreess the issue? Do I recreate it manually without any risk of screwing something up?

  • Getting syntax error in /usr/include/sys/ header files during Compilation

    Hi,
    I am migrating old PRO C code from Oracle 8 + Solaris 8 to Oracle 10 + Solaris 10 environment. While compiling the code it is giving error :*
    Syntax error at line 69, column 2, file /usr/include/sys/uio.h:
    Error at line 69, column 2 in file /usr/include/sys/uio.h
    lloff_t uiooffset; /* file offset */
    .1
    PCC-S-02201, Encountered the symbol "lloff_t" when expecting one of the followin
    g:
    } char, const, double, enum, float, int, long, ulong_varchar,
    OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
    OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
    OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
    struct, union, unsigned, utext, uvarchar, varchar, void,
    volatile, a typedef name,
    The symbol "enum," was substituted for "lloff_t" to continue.
    Any guess why this is happening?

    Hi,
    Try using the PARSE=PARTIAL USERID=user/password[@SID] SQLCHECK=SEMANTICS precompiler options.
    All your hosts variables must be declared inside a Declare section.
    Reference: Pro C/C++ Programmers Guide, chapter 5
    Reguards,
    Rene Rivet

  • I wont to fix my old id account my email is  and when you whant to reset the password i dont recieve any email from apple id and when you answer question about your birth date it says not file is found.

    When i try and reset my id account it says it has been blocked for security reason. When you answer question about your birth date no souch record found and when i resset it by email io dont recieve any email from apple id reseat password. can anyone hep me ?
    <Email Edited by Host>

    Security questions:
    https://discussions.apple.com/docs/DOC-4551
    http://support.apple.com/kb/HT5312

  • How to include the RNDISFN.h header file in the WIN CE Build ?

    I need to include the header file RNDISFN.h in the build of the WIN CE OS. By default the file is not included.
    What do i need to include  in the OS design to have the Header file compiled ?
    Who can help ?  (thx in advance to all these brave people that help in this forum)

    Hello Mads, please check my answer to your previous question...
    [click]
    Regards,
    Mariusz

  • Question about Index in data selection

    Hi experts,
    I am reading the documents about index today and find there are some questions confused me. Plz help, thx!
    1 What is the technical structure of index?
    For example, I have a table ztable with 5 fields, F1(key), F2(key). F3. F4.F5. If I create a index on F3,F4, the system will create a copy of this table. Is the structure of this copy as follow?
    F3, F4, pointer(for the lineno of the recorder)
    So this copy will have fewer lines than the ZTABLE and is sorted. If the DB optimizer choose this index in selection, it will be fast for the 2 reasons?
    2 By what is the sequence of the fields in the index determined? I read a BLOG about permance, the author make a example with DB05, and say if the distinct values of certain field is between 1-1000 lines, it is good to set a secondary index for the field.
    I wonder, if the F3 has only 5 distinct value for all the data in the ZTABLE, and the F4 has 100 distinct value. Which one should be the first field in the index and why?
    Thx!!~

    Hi,
    1 What is the technical structure of index?
    For example, I have a table ztable with 5 fields, F1(key), F2(key). F3. F4.F5. If I create a index on F3,F4, the system will create a copy of this table. Is the structure of this copy as follow?
    F3, F4, pointer(for the lineno of the recorder)
    So this copy will have fewer lines than the ZTABLE and is sorted. If the DB optimizer choose this index in selection, it will be fast for the 2 reasons?
    2 By what is the sequence of the fields in the index determined? I read a BLOG about permance, the author make a example with DB05, and say if the distinct values of certain field is between 1-1000 lines, it is good to set a secondary index for the field.
    I wonder, if the F3 has only 5 distinct value for all the data in the ZTABLE, and the F4 has 100 distinct value. Which one should be the first field in the index and why?
    You seem to be correct for some but not all.
    Struture of index will
    for unique key index F3, F4, row id of database
    it could have only one row id when your where condition match with the index then it goes to only index table first and read the row id and read record directly from the row id.
    But for non unique key table store all the F3, F4, row id of record which math value of F1 and F4. It can have multiple value.
    When your where condition math with condition partially ie left part of the key or whole part key then read all match record from the index table and then read the database physical table and check for addation where condition if any.
    Index is determine on basis of the where condtion which is most left part of index will match.
    if your where condition F4 and in your index has f3 f4 then index will not consider, It create gap between index condition and read whole table database. But if you consider f3 then only it consider the index to read because it match the left most part with index fields.
    For more details How to create secondary index ? Search for blog in sdn I reply many time.

  • Man pages vs. options found in /usr/includes/sys

    I am working with ecpp from the man pages. Mentioned are the various include files. Within the include files are mention of EPP, and DEBUG mode. About those I can find nothing more what-so-ever (except one snippet tantilizer at Sun's "Printing in the Solaris Environment: More Tips and Ideas"). SOMEBODY is using this stuff, why is it hidden from "us"?
    My immediate question is, "If its not in the (latest) man pages [7-Dec-2000], am I asking for heartburn by expecting to utilize extra modes found in the include files?"

    Yes.

  • Hi Experts, a question about search help in selection screen?

    Hi Experts,
    I have a selection screen and two parameters, one is plant and another is material, what I want is as following:
    the user select a plant and when he select the material the material should be in the plant he has filled in, how can I handle this? detail help, thank you in advance.
    Kind regards
    Dawson

    Hi,
    Check the below code.
    tables: t001k.
    For Identification Number
    DATA: BEGIN OF it_bwkey OCCURS 0,
            bwkey LIKE t001k-bwkey,
          END OF it_bwkey.
    data: v_bukrs(4).
    For Run date
    DATA: BEGIN OF it_bukrs OCCURS 0,
            bukrs LIKE t001k-bukrs,
          END OF it_bukrs.
    DATA it_ret LIKE ddshretval OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN: BEGIN OF BLOCK main WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_bukrs(4) TYPE c.
    SELECT-OPTIONS s_bwkey FOR t001k-bwkey NO INTERVALS.
    SELECTION-SCREEN END OF BLOCK main.
    INITIALIZATION.
    SELECT DISTINCT bukrs FROM t001k INTO TABLE it_bukrs.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bukrs.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING retfield = 'BUKRS'
    dynpprog = sy-repid
    dynpnr = sy-dynnr
    dynprofield = 'P_BUKRS'
    value_org = 'S'
    TABLES value_tab = it_bukrs
    EXCEPTIONS parameter_error = 1
    no_values_found = 2
    OTHERS = 3.
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_bwkey-low.
    TABLES: t130r.
    DATA: BEGIN OF dynpfields OCCURS 0.
    INCLUDE STRUCTURE dynpread.
    DATA: END OF dynpfields.
    DATA : sy_repid LIKE sy-repid,
           sy_dynnr LIKE sy-dynnr.
    CLEAR dynpfields.
    REFRESH dynpfields.
    dynpfields-fieldname = 'P_BUKRS'.
    APPEND dynpfields.
    sy_repid = sy-repid.
    sy_dynnr = sy-dynnr.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = sy_repid
    dynumb = sy_dynnr
    TABLES
    dynpfields = dynpfields
    EXCEPTIONS
    OTHERS = 01.
    IF sy-subrc = 0.
    READ TABLE dynpfields WITH KEY fieldname = 'P_BUKRS'.
    IF sy-subrc = 0.
    v_bukrs = dynpfields-fieldvalue.
    ENDIF.
    ENDIF.
    SELECT bwkey FROM t001k INTO TABLE it_bwkey WHERE bukrs = v_bukrs.
    DELETE ADJACENT DUPLICATES FROM it_bwkey.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    retfield = 'BWKEY'
    dynpprog = sy-repid
    dynpnr = sy-dynnr
    dynprofield = 'S_BWKEY'
    value_org = 'S'
    TABLES
    value_tab = it_bwkey
    EXCEPTIONS
    parameter_error = 1
    no_values_found = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    *MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Regards,
    Kumar Bandanadham

  • A question about CPS (CPS processing) and CAPolicy.inf file.

    Hello All
    Can someone please help me with the following question.
    Background, I am building a 3-tier PKI infrastructure. offline Root, offline Policy (intermediate), online issuing.
    Now my first question is about CPS (certificate practice statement) for this example lets just call this the InternalIssuancePolicy as below.
    Basically I was thinking it is best not to set a given certificate (aka issuance) policy at the Root, the reason being I may wish to have different issuance policies at a latter date.
    For example right now I just want an issuance policy (CPS) for internal certificates only, therefore I am thinking set this at the Policy CA level, as below [InternalIssuancePolicy] (example OID) and then issuing CA certs from this Policy CA to the
    internal issuing CAs. If at a latter date I want a different policy (CPS) for issuance of external certificates I can build a new Policy CA under the existing Root with a different policy extension.
    Is the above logic sound?
    Questions:
    I am assuming from recent study that the CA cert issued to the Issuing CA will contain a single issuance policy "only" i.e. the one that was specified in the Policy CA 1.3.6.1.4.11111111.1.1.1.  If so I believe you cannot build a new
    issuing CA and submit the CSR to the Policy CA asking for a CA cert with any other certificate policy extension other than 1.3.6.1.4.11111111.1.1.1
    Is that correct?
    Also
    I saw a blog post which stated if are going to use certificate/issuance policies (other than all issuance policies) you should mark the extension as critical=true otherwise the policy just becomes glorified comment. I take the point but that leads me to
    two more questions
    1: How does the certificate changing engine or CryptoAPI enforce a certificate policy (as it is just a policy, e.g. written procedure). I am assuming all this means is it forces the client to process the extension and therefore check the certificate
    policy extension in the certificate does not violate the certificate chain but that is all it can do?
    2: If the certificate policy extension is set to critical and the URL referenced in the extension is not available (e.g. on a WEB Server and the client is working offline, but has a cached CRL), does setting the extension to critical also force the
    client to try and access the URL listed, or not (I am assuming not as you could just have a text block rather than URL).
    Any comments suggestions on my proposed three CAPolicy.inf files below for the 3-tier PKI (again offline Root and Policy)
    ** Root **
    [Version]
    Signature= "$Windows NT$"
    [Certsrv_Server]
    RenewalKeyLength=4096
    RenewalValidityPeriodUnits=Years
    RenewalValidityPeriod=20
    CRLPeriod=Years
    CRLPeriodUnits=1
    LoadDefaultTemplates=False
    AlternateSignatureAlgorithm=0
    [CRLDistributionPoint]
    [AuthorityInformationAccess]
    basicconstraintsextension]
    pathlength = 2
    critical=true
    PolicyStatementExtension]
    Policies = AllIssuancePolicy
    Critical = FALSE
    [AllIssuancePolicy]
    OID = 2.5.29.32.0
    ** Policy CA **
    [Version]
    Signature= "$Windows NT$"
    [Certsrv_Server]
    RenewalKeyLength=2048
    RenewalValidityPeriodUnits=Years
    RenewalValidityPeriod=10
    CRLPeriod=Years
    CRLPeriodUnits=1
    [PolicyStatementExtension]
    Policies = InternalIssuancePolicy
    Critical = False
    [InternalIssuancePolicy]
    OID = 1.3.6.1.4.11111111.1.1.1
    Notice = "Internal Certificate Policy"
    URL="http://pki.lab.local/Certenroll/CPS.txt"
    [AuthorityInformationAccess]
    URL=http://pki.lab.local/Certenroll/PolicyCA01.crt
    [CRLDistributionPoint]
    URL=http://pki.lab.local/Certenroll/PolicyCA01.crl
    [basicconstraintsextension]
    pathlength = 1
    critical=true
    ** Issuing CA **
    [Version]
    Signature= "$Windows NT$"
    [Certsrv_Server]
    RenewalKeyLength=2048
    RenewalValidityPeriodUnits=Years
    RenewalValidityPeriod=5
    CRLPeriod=Weeks
    CRLPeriodUnits=1
    CRLDeltaPeriod=Days
    CRLDeltaPeriodUnits=1
    LoadDefaultTemplates=False
    AlternateSignatureAlgorithm=0
    [AuthorityInformationAccess]
    URL=http://pki.lab.local/Certenroll/IssuingCA01.crt
    [CRLDistributionPoint]
    URL=http://pki.lab.local/Certenroll/IssuingCA01.crl
    [basicconstraintsextension]
    pathlength = 0
    critical=true
    Thanks All
    AAnotherUser__

    > Is the above logic sound?
    not that much. In this case 3-tier PKI could be reduced to 2-tier. Make default Offline Root CA and below it issuing CAs with desired policy OIDs. You will combine issuing CA with policy CA functionality. Additional tier will cost you a license, administration
    overhead and increased certificate chain processing delays. There is nothing wrong if you combine policy CAs with issuing.
    > I saw a blog post which stated if are going to use certificate/issuance policies (other than all issuance policies) you should mark the extension as critical=true
    where did you get this? Certificate policies should not be marked critical. Certificate chaining engine will take care of it, when application reqests CCE to validate desired policy.
    > does setting the extension to critical also force the client to try and access the URL listed
    no. Certificate chaining engine do not inspect policy qualifier URLs.
    > Any comments suggestions on my proposed three CAPolicy.inf files below for the 3-tier PKI (again offline Root and Policy)
    [CRLDistributionPoint]
    [AuthorityInformationAccess]
    [PolicyStatementExtension]
    Policies = AllIssuancePolicy
    Critical = FALSE
    [AllIssuancePolicy]
    OID = 2.5.29.32.0
    these sections are not required in root CA.
    [AuthorityInformationAccess]
    URL=http://pki.lab.local/Certenroll/PolicyCA01.crt
    [CRLDistributionPoint]
    URL=http://pki.lab.local/Certenroll/PolicyCA01.crl
    [basicconstraintsextension]
    pathlength = 1
    critical=true
    These sections are not required at policy CA. Afaik, CDP and AIA extensions are not supported in non-root CA configuration files. The same is with issuing CA. And your issuing CA is missing PolicyStatementExtension section.
    Vadims Podāns, aka PowerShell CryptoGuy
    My weblog: en-us.sysadmins.lv
    PowerShell PKI Module: pspki.codeplex.com
    PowerShell Cmdlet Help Editor pscmdlethelpeditor.codeplex.com
    Check out new: SSL Certificate Verifier
    Check out new:
    PowerShell File Checksum Integrity Verifier tool.

  • Question about Middle button on 'Nokia Stereo Head...

    Hi all,
    anyone knows whats the function of the middle button between the volume control buttons on the side of the earpiece?
    i tried clicking on it in various modes but nothing happened. couldn't find any documentation on the headset as well.. anyoen has any reference documentation or link on that button?

    I phoned Nokia care about this headset a few months ago and I was told that it only Has ONE button besides the volume keys, which is the button we use for voice commands, answering and so on(everything else is just there for us to fiddle??). On the N82 for some reason we can't skip tracks using this button which I think was CARELESS on Nokia's part. A headset should allow this at least.
    Show your appreciation. Hit that kudos button real hard

  • Question about exporting as an avi dv NTSC file

    Hello everyone,
    Im using Premiere pro 1.5 and cs4. The problem is when i export my edited video, in both 1.5 and cs4, they put a yellow filter on exported avi dv NTSC file while it has the correct colors in premiere. Ive tried everything to fix but it just doesnt work. What could this be? if anyone can help me asap i would greatly appericiate it!!

    OK.
    Has your TV been properly calibrated?
    http://www.spearsandmunsil.com/

  • Question about zone_status_t

    Hi,
    I've got a development machine running the following version of Solaris:
    $ uname -a
    SunOS ratbert 5.10 Generic_120012-14 i86pc i386 i86pc
    $ cat /etc/release
    Solaris 10 8/07 s10x_u4wos_12b X86
    Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
    Use is subject to license terms.
    Assembled 16 August 2007
    $
    On this machine, zone_status_t (in /usr/include/sys/zone.h) is defined
    as follows:
    typedef enum {
    ZONE_IS_UNINITIALIZED = 0,
    ZONE_IS_READY,
    ZONE_IS_BOOTING,
    ZONE_IS_RUNNING,
    ZONE_IS_SHUTTING_DOWN,
    ZONE_IS_EMPTY,
    ZONE_IS_DOWN,
    ZONE_IS_DYING,
    ZONE_IS_DEAD
    } zone_status_t;
    However, I was looking at the Solaris source code online and noticed that there,
    zone_status_t is defined differently:
    typedef enum {
    ZONE_IS_UNINITIALIZED = 0,
    ZONE_IS_INITIALIZED,
    ZONE_IS_READY,
    ZONE_IS_BOOTING,
    ZONE_IS_RUNNING,
    ZONE_IS_SHUTTING_DOWN,
    ZONE_IS_EMPTY,
    ZONE_IS_DOWN,
    ZONE_IS_DYING,
    ZONE_IS_DEAD
    } zone_status_t;
    Notice that ZONE_IS_INITIALIZED was inserted, which changes the numeric
    values of everything below it. Therefore, if I call zone_getattr() to get the
    status of a zone, it looks like the interpretation of the numeric value I get
    depends on exactly which revision of Solaris I am running on. Does anyone
    know in which revision of Solaris the value ZONE_IS_INITIALIZED was added?
    Thanks,
    Dave

    Looks like it was added in Solaris 10u7 since my u6 boxes don't have it and my u7 boxes do.
    Its unusual for sun to change a public interface like that..

  • Some very basic questions about calling a DLL in C[VI] code.

    Hello everyone!
    I'm sorry if this a really simple concept. I've come from a background of embedded systems, so DLLs are something I haven't really played around with much. Regardless. I'm developing an application in CVI for a project, and I generated a DLL that I want to use in Visual Studio 2013. I was able to compile it and it output the expected *.dll file. My question however is how do I properly import that *.dll into the CVI IDE? I did google and search the forums and I didn't find what I needed exactly.... I did find however this link: <http://www.ni.com/white-paper/8503/en/>. I did read through it all, and I think I'm going to try and use Implicit Linking. In the link it does detail 3 steps: 
    Include the import library (.lib) in your LabWindows/CVI project
    Include the header file that contains the function prototype in your code using #include
    Call the function in your code like any other function
    I was able to easily complete step 1.. Now I'm on step 2. The headerfile that contains the function prototype of my code...I was looking at examples, do I just call the dll file as a .h file now? It seemed that way from what I saw. Do I need to output a header file for the DLL some how? Does the CVI compiler automatically reference that .h file with the lib that was imported? 
    Then in step 3...do I call the functions like they're in another file in the project? Just call the function as usual with the type and then feed the variables into the function and so on?
    Sorry if this is a really rudimentary question.
    Thanks in advance!
    ~Andrew

    The header file definitely isn't the .dll renamed! While creating the .dll, your development environment (don't know which one you've used) should create both a .lib file and a .h file that you must use in your project if you want to go the static linking way. I see you've found the .lib file: the .h file should be available as well, possibly in the same path. The include file lists all the definitions for variables and functions exposed by the dll.
    As per step #3 the answer is yes: you simply call .DLL functions like any other function in your program. At the bottom of the tutorial you've linked there is a link to a Developer Zone Example that is a complete CVI project that uses a .DLL: you may take this as a sample framework to study.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

Maybe you are looking for