From: "Beard, Frank" <beardf@spawar.navy.mil>
To: "'comp.lang.ada@ada.eu.org'" <comp.lang.ada@ada.eu.org>
Subject: RE: How to convert record?
Date: Mon, 29 Oct 2001 13:16:58 -0500
Date: 2001-10-29T13:16:58-05:00 [thread overview]
Message-ID: <mailman.1004379548.31870.comp.lang.ada@ada.eu.org> (raw)
One other thing you might want to consider:
procedure Write_ABCD (the_Command : Command) is
Length : Posix.IO_Count :=
Posix.IO_Count(the_Command'size/Posix.Posix_Character'size);
Buffer : IO_Buffer (1 .. positive(length));
for Buffer use at the_Command'address;
begin
POSIX.IO.write (File_Descriptor, Buffer, Length);
end Write_ABCD;
I've used it on both Windows and a couple of Unix flavors without
any problems, but we were always communicating between homogenous
platforms (same hardware, same OS). If you are in a heterogeneous
environment, you have to use a different method, but you have the
same problem with Unchecked_Conversion.
I like it because it's fairly straight forward and it doesn't copy
data like Unchecked_Conversion, which is particularly good when
dealing with large buffers.
Frank
-----Original Message-----
From: joseph_kwan@greenlime.com [mailto:joseph_kwan@greenlime.com]
Hello,
I just started to learn Ada and have been playing/working with Ada for
two weeks now.
I want to send a command buffer to serial port using florist's POSIX
interface but I have encountered problems in converting record to
POSIX.IO.IO_Buffer or Ada.Streams.Stream_Element_Array. How can I
overcome this problem?
package ABCD is
type Command is
record
A : Character;
B : Character;
C : Integer;
D : Long_Integer;
end record; -- total 8 bytes;
...
end ABCD;
POSIX.IO.write (File_Descriptor, Command, Length);
where
procedure Write
(File : in File_Descriptor;
Buffer : in IO_Buffer;
Last : out POSIX.IO_Count;
Masked_Signals : in POSIX.Signal_Masking
:= POSIX.RTS_Signals);
I have searched the CLA but do not find any solutions. Can you please
help?
Thank you.
_______________________________________________
comp.lang.ada mailing list
comp.lang.ada@ada.eu.org
http://ada.eu.org/mailman/listinfo/comp.lang.ada
next reply other threads:[~2001-10-29 18:16 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-29 18:16 Beard, Frank [this message]
2001-10-30 1:17 ` How to convert record? Adrian Hoe
-- strict thread matches above, loose matches on Subject: below --
2001-10-31 19:40 Beard, Frank
2001-11-01 2:13 ` Adrian Hoe
2001-10-30 19:05 Beard, Frank
2001-10-31 4:10 ` Adrian Hoe
2001-10-21 9:56 Joseph Kwan
2001-10-22 11:30 ` John McCabe
2001-10-25 11:40 ` Joseph Kwan
2001-10-25 12:38 ` sk
2001-10-25 17:12 ` Jeffrey L. Susanj
2001-10-25 12:48 ` David C. Hoos
2001-10-29 1:42 ` Joseph Kwan
2001-10-29 13:35 ` Marc A. Criley
2001-10-25 12:48 ` Marc A. Criley
2001-10-25 12:54 ` sk
2001-10-25 15:41 ` Ted Dennison
2001-10-26 3:21 ` Smark
2001-10-26 5:45 ` James Rogers
2001-10-26 17:46 ` Smark
2001-10-26 14:30 ` Ted Dennison
2001-10-26 17:42 ` Smark
2001-10-26 20:02 ` Ted Dennison
2001-10-26 23:10 ` Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox