-- Ada Milter API, a binding to Libmilter, the Sendmail mail filtering API -- Copyright 2009 - 2013 B. Persson, Bjorn@Rombobeorn.se -- -- This library is free software: you can redistribute it and/or modify it -- under the terms of the GNU General Public License version 3, as published -- by the Free Software Foundation. separate(Milter_API) procedure Set_Reply (Context : SMFICTX_Pointer; Reply_Code : String_Of_Three; Extended_Code : String := ""; Message : Reply_Lines) is function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; line_28 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; line_28 : chars_ptr; line_29 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; line_28 : chars_ptr; line_29 : chars_ptr; line_30 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; line_28 : chars_ptr; line_29 : chars_ptr; line_30 : chars_ptr; line_31 : chars_ptr; stop : chars_ptr) return int; function smfi_setmlreply (ctx : SMFICTX_Pointer; rcode : char_array; xcode : chars_ptr; line_1 : chars_ptr; line_2 : chars_ptr; line_3 : chars_ptr; line_4 : chars_ptr; line_5 : chars_ptr; line_6 : chars_ptr; line_7 : chars_ptr; line_8 : chars_ptr; line_9 : chars_ptr; line_10 : chars_ptr; line_11 : chars_ptr; line_12 : chars_ptr; line_13 : chars_ptr; line_14 : chars_ptr; line_15 : chars_ptr; line_16 : chars_ptr; line_17 : chars_ptr; line_18 : chars_ptr; line_19 : chars_ptr; line_20 : chars_ptr; line_21 : chars_ptr; line_22 : chars_ptr; line_23 : chars_ptr; line_24 : chars_ptr; line_25 : chars_ptr; line_26 : chars_ptr; line_27 : chars_ptr; line_28 : chars_ptr; line_29 : chars_ptr; line_30 : chars_ptr; line_31 : chars_ptr; line_32 : chars_ptr; stop : chars_ptr) return int; pragma import(C, smfi_setmlreply); C_Reply_Code : aliased constant char_array := To_C(Reply_Code); C_Extended_Code : aliased char_array := To_C(Extended_Code); Extended_Code_Ptr : chars_ptr := Null_Ptr; subtype Reply_Line_Count is Natural range 0 .. Reply_Line_Index'Last; Line_Count : constant Reply_Line_Count := Message'Last - Message'First + 1; C_Message : array(1 .. Line_Count) of chars_ptr; Result : int; begin if Extended_Code'Length > 0 then Extended_Code_Ptr := To_Chars_Ptr(C_Extended_Code'Unchecked_Access); end if; for Index in C_Message'Range loop C_Message(Index) := New_String(To_String(Message(Message'First + Index - 1))); end loop; case Line_Count is when 0 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, Null_Ptr); when 1 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), Null_Ptr); when 2 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), Null_Ptr); when 3 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), Null_Ptr); when 4 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), Null_Ptr); when 5 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), Null_Ptr); when 6 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), Null_Ptr); when 7 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), Null_Ptr); when 8 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), Null_Ptr); when 9 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), Null_Ptr); when 10 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), Null_Ptr); when 11 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), Null_Ptr); when 12 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), Null_Ptr); when 13 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), Null_Ptr); when 14 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), Null_Ptr); when 15 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), Null_Ptr); when 16 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), Null_Ptr); when 17 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), Null_Ptr); when 18 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), Null_Ptr); when 19 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), Null_Ptr); when 20 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), Null_Ptr); when 21 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), Null_Ptr); when 22 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), Null_Ptr); when 23 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), Null_Ptr); when 24 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), Null_Ptr); when 25 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), Null_Ptr); when 26 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), Null_Ptr); when 27 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), Null_Ptr); when 28 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), C_Message(28), Null_Ptr); when 29 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), C_Message(28), C_Message(29), Null_Ptr); when 30 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), C_Message(28), C_Message(29), C_Message(30), Null_Ptr); when 31 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), C_Message(28), C_Message(29), C_Message(30), C_Message(31), Null_Ptr); when 32 => Result := smfi_setmlreply(Context, C_Reply_Code, Extended_Code_Ptr, C_Message(1), C_Message(2), C_Message(3), C_Message(4), C_Message(5), C_Message(6), C_Message(7), C_Message(8), C_Message(9), C_Message(10), C_Message(11), C_Message(12), C_Message(13), C_Message(14), C_Message(15), C_Message(16), C_Message(17), C_Message(18), C_Message(19), C_Message(20), C_Message(21), C_Message(22), C_Message(23), C_Message(24), C_Message(25), C_Message(26), C_Message(27), C_Message(28), C_Message(29), C_Message(30), C_Message(31), C_Message(32), Null_Ptr); end case; for Index in C_Message'Range loop Free(C_Message(Index)); end loop; Check_For_Error("smfi_setmlreply", Result); end Set_Reply;