namespace CurlSharp.Enums
{
///
/// These are options available to build a multi-part form section
/// in a call to
///
public enum CurlFormOption
{
///
/// Another possibility to send options to
/// is this option, that
/// passes a array reference as its value.
/// Each array element has a
/// and a string. All available
/// options can be used in an array, except the Array
/// option itself! The last argument in such an array must always be
/// End.
///
Array = 8,
///
/// Followed by a string, tells libcurl that a buffer is to be
/// used to upload data instead of using a file.
///
Buffer = 11,
///
/// Followed by an int with the size of the
/// BufferPtr byte array, tells libcurl the length of
/// the data to upload.
///
BufferLength = 13,
///
/// Followed by a byte[] array, tells libcurl the address of
/// the buffer containing data to upload (as indicated with
/// Buffer). You must also use
/// BufferLength to set the length of the buffer area.
///
BufferPtr = 12,
///
/// Specifies extra headers for the form POST section. This takes an
/// prepared in the usual way using
/// and appends the list of headers to
/// those libcurl automatically generates.
///
ContentHeader = 15,
///
/// Followed by an int setting the length of the contents.
///
ContentsLength = 6,
///
/// Followed by a string with a content-type will make cURL
/// use this given content-type for this file upload part, possibly
/// instead of an internally chosen one.
///
ContentType = 14,
///
/// Followed by a string is used for the contents of this part, the
/// actual data to send away. If you'd like it to contain zero bytes,
/// you need to set the length of the name with
/// ContentsLength.
///
CopyContents = 4,
///
/// Followed by a string used to set the name of this part.
/// If you'd like it to contain zero bytes, you need to set the
/// length of the name with NameLength.
///
CopyName = 1,
///
/// This should be the last argument to a call to
/// .
///
End = 17,
///
/// Followed by a file name, makes this part a file upload part. It
/// sets the file name field to the actual file name used here,
/// it gets the contents of the file and passes as data and sets the
/// content-type if the given file match one of the new internally
/// known file extension. For File the user may send
/// one or more files in one part by providing multiple File
/// arguments each followed by the filename (and each File
/// is allowed to have a ContentType).
///
File = 10,
///
/// Followed by a file name, and does the file read: the contents
/// will be used in as data in this part.
///
FileContent = 7,
///
/// Followed by a string file name, will make libcurl use the
/// given name in the file upload part, instead of the actual file
/// name given to File.
///
Filename = 16,
///
/// Followed by an int setting the length of the name.
///
NameLength = 3,
///
/// Not used.
///
Nothing = 0,
///
/// No longer used.
///
Obsolete = 9,
///
/// No longer used.
///
Obsolete2 = 18,
///
/// Followed by a byte[] used for the contents of this part.
/// If you'd like it to contain zero bytes, you need to set the
/// length of the name with ContentsLength.
///
PtrContents = 5,
///
/// Followed by a byte[] used for the name of this part.
/// If you'd like it to contain zero bytes, you need to set the
/// length of the name with NameLength.
///
PtrName = 2
};
}