| Top |  |  |  |  | 
Figure 4. Schema fragment for lib:AuthnRequestEnvelope
<xs:element name="AuthnRequestEnvelope" type="AuthnRequestEnvelopeType"/>
<xs:complexType name="AuthnRequestEnvelopeType">
  <xs:complexContent>
    <xs:extension base="RequestEnvelopeType">
      <xs:sequence>
        <xs:element ref="AuthnRequest"/>
        <xs:element ref="ProviderID"/>
        <xs:element name="ProviderName" type="xs:string" minOccurs="0"/>
        <xs:element name="AssertionConsumerServiceURL" type="xs:anyURI"/>
        <xs:element ref="IDPList" minOccurs="0"/>
        <xs:element name="IsPassive" type="xs:boolean" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="RequestEnvelopeType">
  <xs:sequence>
    <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>
<xs:element name="IDPList" type="IDPListType"/>
<xs:complexType name="IDPListType">
  <xs:sequence>
    <xs:element ref="IDPEntries"/>
    <xs:element ref="GetComplete" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="ResponseEnvelopeType">
  <xs:sequence>
    <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>
LassoLibAuthnRequestEnvelope *
lasso_lib_authn_request_envelope_new (void);
Creates a new LassoLibAuthnRequestEnvelope object.
LassoLibAuthnRequestEnvelope * lasso_lib_authn_request_envelope_new_full (LassoLibAuthnRequest *authnRequest,char *providerID,char *assertionConsumerServiceURL);
Creates a new LassoLibAuthnRequestEnvelope object and initializes it with the parameters.
| authnRequest | the LassoLibAuthnRequest to envelop | |
| providerID | service provider ID | |
| assertionConsumerServiceURL | assertion consumer service URL on the service provider | 
struct LassoLibAuthnRequestEnvelope {
	LassoNode parent;
	/* <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/> */
	GList *Extension; /* of xmlNode* */
	/* <xs:element ref="AuthnRequest"/> */
	LassoLibAuthnRequest *AuthnRequest;
	/* <xs:element ref="ProviderID"/> */
	char *ProviderID;
	/* <xs:element name="ProviderName" type="xs:string" minOccurs="0"/> */
	char *ProviderName;
	/* <xs:element name="AssertionConsumerServiceURL" type="xs:anyURI"/> */
	char *AssertionConsumerServiceURL;
	/* <xs:element ref="IDPList" minOccurs="0"/> */
	LassoLibIDPList *IDPList;
	/* <xs:element name="IsPassive" type="xs:boolean" minOccurs="0"/> */
	gboolean IsPassive;
};