[OpenAFS-devel] [GSoC2010] - Implementing Microsoft's Safe String (StrSafe.h) Library for UNIX/Linux

Jeffrey Altman jaltman@secure-endpoints.com
Sun, 28 Mar 2010 14:05:50 -0400


HRESULT is defined in the MSDN documentation along with the value result
codes.  You should define this type for non-Windows systems.

The __in, __out, and __inout tagging of parameters can be initially
mapped using cpp macros to the empty string and later on mapped to
an equivalent mechanism based on the compiler being used.

Jeffrey Altman

On 3/28/2010 1:34 PM, Tharidu Fernando wrote:
> Hello again,
> 
> Since you said that the MSDN documentation will be the specification,
> however I find in their prototypes the use of HRESULT, __in , __out, __inout
>  which is a implemented by Microsoft specifically. 
> 
> So in the UNIX/Linux implementation how this be handled? 
> 
> Thanks,
> 
> Regards,
> Tharidu Fernando
> 
> On Sat, Mar 27, 2010 at 8:48 AM, Jeffrey Altman
> <jaltman@secure-endpoints.com <mailto:jaltman@secure-endpoints.com>> wrote:
> 
>     On 3/25/2010 1:22 PM, Tharidu Fernando wrote:
>     > Hi Everybody!
> 
>     Welcome to OpenAFS.
> 
>     > I'm Tharidu Fernando, a second year undergraduate student of
>     University
>     > of Colombo School of Computing (Sri Lanka) following the Computer
>     > Science degree.
> 
>     Another member of the OpenAFS community, Asanka Herath, is also from
>     Columbo although he currently resides in the U.S.
> 
>     > I'm really interested in the project of implementing Microsoft's Safe
>     > String library for UNIX/Linux which serves as a function in OpenAFS.
> 
>     Excellent!
> 
>     > I love that project idea because as a student im doing lots of
>     projects
>     > in C language(data structures and algorithms , string
>     manipulation, ..)
>     > and often face problems with the current C String manipulation
>     library.
>     > As to OpenAFS - this will enable safer code and also improve code
>     > quality. As i understand this will benefit the Open Source Community a
>     > lot also.
>     >
>     > I'm currently studying the Microsoft implementation. But I would
>     like to
>     > who will be mentoring this project and where to get started! And also
>     > code conventions.
> 
>     I will be the primary mentor for this project but as with all of the
>     OpenAFS GSoC projects, there will be many members of the community
>     available to assist you.
> 
>     The best place to get started is to read the MSDN references were
>     listed as part of the project description.  Even though Microsoft
>     provides the source code to their implementation as part of the
>     Visual Studio C Runtime Library source code, you may not look at
>     their implementation for this project.   It is very important that
>     this implementation of the library be implemented only by looking
>     at the MSDN documentation.
> 
>     I believe the MSDN documentation is complete enough to use as a
>     specification.  I would start with the single byte character
>     version of the functions and then once those are complete look
>     to implement the Unicode versions.
> 
>     There is a coding style guide for OpenAFS at
> 
>     http://www.dementia.org/twiki/bin/view/AFSLore/CodingStyle
> 
>     Please ask any questions you might have.
> 
>     Jeffrey Altman
>     OpenAFS Gatekeeper
> 
>